re PR c++/11295 (ICE when using a non-trivial object in a compound statement expression)
authorJames E Wilson <wilson@specifixinc.com>
Mon, 9 Feb 2004 21:32:37 +0000 (21:32 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Mon, 9 Feb 2004 21:32:37 +0000 (13:32 -0800)
PR c++/11295
* c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
to expand_expr_real call, and pass in alt_rtl as last argument.

From-SVN: r77557

gcc/ChangeLog
gcc/c-common.c

index 6ba6220195b5e6cb8e98164df6ef7ff68168d433..8a99a014ec158c9bb34a09658c0cc3f9da52ca95 100644 (file)
@@ -1,5 +1,9 @@
 2004-02-09  James E Wilson  <wilson@specifixinc.com>
 
+       PR c++/11295
+       * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
+       to expand_expr_real call, and pass in alt_rtl as last argument.
+
        PR libstdc++/5625
        * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
        * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
index c31c671e9a26543eeb8fba85c6d3807c9b17ec6a..e8370d519ee5265c654ec8f8164a4d67cf8655ae 100644 (file)
@@ -4106,7 +4106,7 @@ c_expand_expr (tree exp, rtx target, enum machine_mode tmode,
        expand_stmt (STMT_EXPR_STMT (exp));
        expand_end_stmt_expr (rtl_expr);
 
-       result = expand_expr (rtl_expr, target, tmode, modifier);
+       result = expand_expr_real (rtl_expr, target, tmode, modifier, alt_rtl);
        if (preserve_result && GET_CODE (result) == MEM)
          {
            if (GET_MODE (result) != BLKmode)