re PR middle-end/17526 (libcpp is miscompiled with -fno-pcc-struct-return -O2)
PR middle-end/17526 * tree-gimple.c (is_gimple_mem_rhs): Also require a val for aggregate types that are not BLKmode. From-SVN: r89915
This commit is contained in:
parent
16b34ad662
commit
49382b6cf9
|
@ -1,3 +1,9 @@
|
|||
2004-10-31 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR middle-end/17526
|
||||
* tree-gimple.c (is_gimple_mem_rhs): Also require a val for
|
||||
aggregate types that are not BLKmode.
|
||||
|
||||
2004-10-30 Ziemowit Laski <zlaski@apple.com>
|
||||
|
||||
* c-common.h (objc_lookup_ivar): Add second parameter to
|
||||
|
|
|
@ -111,9 +111,12 @@ is_gimple_reg_rhs (tree t)
|
|||
bool
|
||||
is_gimple_mem_rhs (tree t)
|
||||
{
|
||||
/* If we're dealing with a renamable type, either source or dest
|
||||
must be a renamed variable. */
|
||||
if (is_gimple_reg_type (TREE_TYPE (t)))
|
||||
/* If we're dealing with a renamable type, either source or dest must be
|
||||
a renamed variable. Also force a temporary if the type doesn't need
|
||||
to be stored in memory, since it's cheap and prevents erroneous
|
||||
tailcalls (PR 17526). */
|
||||
if (is_gimple_reg_type (TREE_TYPE (t))
|
||||
|| TYPE_MODE (TREE_TYPE (t)) != BLKmode)
|
||||
return is_gimple_val (t);
|
||||
else
|
||||
return is_gimple_formal_tmp_rhs (t);
|
||||
|
|
Loading…
Reference in New Issue