aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/alias.c9
2 files changed, 5 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7e9a8f4..8f04fd2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
+ stdarg and varargs functions.
+
2000-11-19 Zack Weinberg <zack@wolery.stanford.edu>
* gcc.c (process_command): Define 'j' variable when
diff --git a/gcc/alias.c b/gcc/alias.c
index e9e30ee..d89010a 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -226,15 +226,6 @@ mems_in_disjoint_alias_sets_p (mem1, mem2)
abort ();
#endif
- /* The code used in varargs macros are often not conforming ANSI C,
- which can trick the compiler into making incorrect aliasing
- assumptions in these functions. So, we don't use alias sets in
- such a function. FIXME: This should be moved into the front-end;
- it is a language-dependent notion, and there's no reason not to
- still use these checks to handle globals. */
- if (current_function_stdarg || current_function_varargs)
- return 0;
-
/* If have no alias set information for one of the MEMs, we have to assume
it can alias anything. */
if (MEM_ALIAS_SET (mem1) == 0 || MEM_ALIAS_SET (mem2) == 0)