summaryrefslogtreecommitdiff
path: root/gcc/alias.c
diff options
context:
space:
mode:
authorjfc <jfc@138bc75d-0d04-0410-961f-82ee72b054a4>1998-04-29 12:41:21 +0000
committerjfc <jfc@138bc75d-0d04-0410-961f-82ee72b054a4>1998-04-29 12:41:21 +0000
commit653b1824c16ef3d10b5741f5d50e7ccd18cbe024 (patch)
treedd1905278f46f2c7d59d423d9eab086e1c6e679b /gcc/alias.c
parentf1a9771e6f9364e15863db4c19bcb364f4665eed (diff)
downloadgcc-653b1824c16ef3d10b5741f5d50e7ccd18cbe024.tar.gz
* calls.c (expand_call): Fix recognition of C++ operator new.
* alias.c (mode_alias_check): Disable type based alias detection. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19492 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/alias.c')
-rw-r--r--gcc/alias.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/alias.c b/gcc/alias.c
index a9024b8c98f..148b4527345 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -859,6 +859,11 @@ mode_alias_check (x, y, varies)
register rtx x, y;
int (*varies) PROTO ((rtx));
{
+#if 1
+ /* gcc rules: all type aliasing allowed */
+ return 1;
+#else
+ /* ANSI C rules: different types do not alias. */
enum machine_mode x_mode = GET_MODE (x), y_mode = GET_MODE (y);
rtx x_addr = XEXP (x, 0), y_addr = XEXP (y, 0);
int x_varies, y_varies, x_struct, y_struct;
@@ -903,6 +908,7 @@ mode_alias_check (x, y, varies)
/* Both are varying structs or fixed scalars. Check that they are not
the same type. */
return (x_struct == y_struct);
+#endif
}
/* Read dependence: X is read after read in MEM takes place. There can