diff options
author | Joseph Myers <jsm28@cam.ac.uk> | 2000-11-19 19:39:17 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2000-11-19 19:39:17 +0000 |
commit | 65fa2185893d05a236497c100b555b57e4990a66 (patch) | |
tree | e15fe308499975eeaa68413709286c001312ef05 | |
parent | 2e59adac88d6adee16581146a384861070e18fd2 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/alias.c | 9 |
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) |