aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJames E Wilson <wilson@specifixinc.com>2004-02-09 21:32:37 +0000
committerJim Wilson <wilson@gcc.gnu.org>2004-02-09 13:32:37 -0800
commit228ae085b590f8e440afa88c181ae5950744dbda (patch)
tree53f3cfa75b0b5ff17b86143bf2ac848f9241193e /gcc
parent664fc5df4a28cebf52350cd4496279c53dd28f88 (diff)
downloadgcc-228ae085b590f8e440afa88c181ae5950744dbda.zip
gcc-228ae085b590f8e440afa88c181ae5950744dbda.tar.gz
gcc-228ae085b590f8e440afa88c181ae5950744dbda.tar.bz2
re PR c++/11295 (ICE when using a non-trivial object in a compound statement expression)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/c-common.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6ba6220..8a99a01 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/c-common.c b/gcc/c-common.c
index c31c671..e8370d5 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -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)