PR tree-optimization/69715
* tree-ssa.c (execute_update_addresses_taken): Mark non-decl
LHS on calls as non-rewritable.
* gcc.dg/torture/pr69715.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233239
138bc75d-0d04-0410-961f-
82ee72b054a4
+2016-02-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69715
+ * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
+ LHS on calls as non-rewritable.
+
2016-02-09 Tom de Vries <tom@codesourcery.com>
PR lto/69707
+2016-02-09 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69715
+ * gcc.dg/torture/pr69715.c: New testcase.
+
2016-02-08 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/69139
--- /dev/null
+/* { dg-do compile } */
+
+struct __attribute__((may_alias)) S { long long low; int high; };
+struct S foo (void);
+long double
+bar (void)
+{
+ long double a;
+ *(struct S *)&a = foo ();
+ return a;
+}
tree lhs = gimple_get_lhs (stmt);
if (lhs
&& TREE_CODE (lhs) != SSA_NAME
- && non_rewritable_lvalue_p (lhs))
+ && ((code == GIMPLE_CALL && ! DECL_P (lhs))
+ || non_rewritable_lvalue_p (lhs)))
{
decl = get_base_address (lhs);
if (DECL_P (decl))