explow.c (set_mem_attributes): Avoid returning a bogus alias set from a new MEM.
* explow.c (set_mem_attributes): Avoid returning a bogus alias set from a new MEM. From-SVN: r45108
This commit is contained in:
parent
2270623af3
commit
23ac7d7e6c
@ -1,5 +1,8 @@
|
||||
2001-08-22 Jason Merrill <jason_merrill@redhat.com>
|
||||
|
||||
* explow.c (set_mem_attributes): Avoid returning a bogus alias set
|
||||
from a new MEM.
|
||||
|
||||
* jump.c (squeeze_notes): Take parms by reference. Handle END being
|
||||
a squeezable note.
|
||||
* rtl.h: Adjust.
|
||||
|
@ -670,7 +670,16 @@ set_mem_attributes (ref, t, objectp)
|
||||
here, because, in C and C++, the fact that a location is accessed
|
||||
through a const expression does not mean that the value there can
|
||||
never change. */
|
||||
|
||||
/* If we have already set DECL_RTL = ref, get_alias_set will get the
|
||||
wrong answer, as it assumes that DECL_RTL already has the right alias
|
||||
info. Callers should not set DECL_RTL until after the call to
|
||||
set_mem_attributes. */
|
||||
if (DECL_P (t) && ref == DECL_RTL_IF_SET (t))
|
||||
abort ();
|
||||
|
||||
set_mem_alias_set (ref, get_alias_set (t));
|
||||
|
||||
MEM_VOLATILE_P (ref) = TYPE_VOLATILE (type);
|
||||
MEM_IN_STRUCT_P (ref) = AGGREGATE_TYPE_P (type);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user