aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2012-11-22 09:41:52 -0500
committerJason Merrill <jason@gcc.gnu.org>2012-11-22 09:41:52 -0500
commit0c0cba54e8c87f02ee4ff2bea9b746f09ef1c8ba (patch)
treeab16b841afd00d268951f02c7dee147c0d10191c
parent03d670c8cc2dec0131c4dba97069d887cae239d0 (diff)
downloadgcc-0c0cba54e8c87f02ee4ff2bea9b746f09ef1c8ba.zip
gcc-0c0cba54e8c87f02ee4ff2bea9b746f09ef1c8ba.tar.gz
gcc-0c0cba54e8c87f02ee4ff2bea9b746f09ef1c8ba.tar.bz2
call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for the ADDR_EXPR.
* call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for the ADDR_EXPR. From-SVN: r193726
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/call.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index edcc81f..53fe814 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2012-11-22 Jason Merrill <jason@redhat.com>
+
+ * call.c (extend_ref_init_temps_1): Recompute TREE_CONSTANT for
+ the ADDR_EXPR.
+
2012-11-20 Diego Novillo <dnovillo@google.com>
Jakub Jelinek <jakub@redhat.com>
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index 35a3f91..bba5d9f 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -9188,6 +9188,7 @@ extend_ref_init_temps_1 (tree decl, tree init, vec<tree, va_gc> **cleanups)
*p = set_up_extended_ref_temp (decl, *p, cleanups, &subinit);
if (subinit)
init = build2 (COMPOUND_EXPR, TREE_TYPE (init), subinit, init);
+ recompute_tree_invariant_for_addr_expr (sub);
}
return init;
}