aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <jsm28@cam.ac.uk>2000-11-19 19:39:17 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2000-11-19 19:39:17 +0000
commit65fa2185893d05a236497c100b555b57e4990a66 (patch)
treee15fe308499975eeaa68413709286c001312ef05
parent2e59adac88d6adee16581146a384861070e18fd2 (diff)
downloadgcc-65fa2185893d05a236497c100b555b57e4990a66.zip
gcc-65fa2185893d05a236497c100b555b57e4990a66.tar.gz
gcc-65fa2185893d05a236497c100b555b57e4990a66.tar.bz2
alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in stdarg and varargs functions.
* alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in stdarg and varargs functions. From-SVN: r37572
-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)