diff options
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 2 | ||||
-rw-r--r-- | gcc/cp/typeck.c | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c8ba24d..37f0811 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2004-09-12 Richard Henderson <rth@redhat.com> + + PR c++/16254 + * semantics.c (maybe_cleanup_point_expr): Don't call fold. + * typeck.c (condition_conversion): Likewise. + 2004-09-11 Richard Henderson <rth@redhat.com> PR c++/17404 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index bdf1439..1ea97a0 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -358,7 +358,7 @@ static tree maybe_cleanup_point_expr (tree expr) { if (!processing_template_decl && stmts_are_full_exprs_p ()) - expr = fold (build1 (CLEANUP_POINT_EXPR, TREE_TYPE (expr), expr)); + expr = build1 (CLEANUP_POINT_EXPR, TREE_TYPE (expr), expr); return expr; } diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 77fd20a..2169bad 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -3659,7 +3659,7 @@ condition_conversion (tree expr) if (processing_template_decl) return expr; t = perform_implicit_conversion (boolean_type_node, expr); - t = fold (build1 (CLEANUP_POINT_EXPR, boolean_type_node, t)); + t = build1 (CLEANUP_POINT_EXPR, boolean_type_node, t); return t; } |