+2004-04-19 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/14531
+ * class.c (build_base_path): Call fold whilst building the NULL
+ pointer check expression trees.
+
2004-04-15 Bryce McKinlay <mckinlay@redhat.com>
* init.c (build_new_1): Don't use type size argument for Java
expr = save_expr (expr);
if (want_pointer && !nonnull)
- null_test = build (EQ_EXPR, boolean_type_node, expr, integer_zero_node);
+ null_test = fold (build2 (NE_EXPR, boolean_type_node,
+ expr, integer_zero_node));
offset = BINFO_OFFSET (binfo);
expr = build_indirect_ref (expr, NULL);
if (null_test)
- expr = build (COND_EXPR, target_type, null_test,
- build1 (NOP_EXPR, target_type, integer_zero_node),
- expr);
+ expr = fold (build3 (COND_EXPR, target_type, null_test, expr,
+ fold (build1 (NOP_EXPR, target_type,
+ integer_zero_node))));
return expr;
}