OSDN Git Service

* alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 19 Nov 2000 19:39:17 +0000 (19:39 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 19 Nov 2000 19:39:17 +0000 (19:39 +0000)
stdarg and varargs functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37572 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/alias.c

index 7e9a8f4..8f04fd2 100644 (file)
@@ -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
index e9e30ee..d89010a 100644 (file)
@@ -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)