aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mmitchel@gcc.gnu.org>1998-08-25 12:01:52 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1998-08-25 12:01:52 +0000
commit264fac3496eefa6bcd2d82e9dd55b53ad5df545e (patch)
tree1afacc08bec0bbc4d5371075aef5806f7084cf0e /gcc
parent9a855d84862cd3f752498e1bc9f599efe65c7f24 (diff)
downloadgcc-264fac3496eefa6bcd2d82e9dd55b53ad5df545e.zip
gcc-264fac3496eefa6bcd2d82e9dd55b53ad5df545e.tar.gz
gcc-264fac3496eefa6bcd2d82e9dd55b53ad5df545e.tar.bz2
alias.c: Include output.h.
* alias.c: Include output.h. (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as different if we're in a varargs function. * Makefile.in (alias.o): Depend on output.h From-SVN: r21967
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/Makefile.in2
-rw-r--r--gcc/alias.c14
3 files changed, 18 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ae0884e..c7197ec 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+Tue Aug 25 12:02:23 1998 Mark Mitchell <mark@markmitchell.com>
+
+ * alias.c: Include output.h.
+ (DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
+ different if we're in a varargs function.
+ * Makefile.in (alias.o): Depend on output.h
+
Tue Aug 25 19:20:12 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* sh.h (GIV_SORT_CRITERION): Delete.
@@ -49,6 +56,7 @@ Mon Aug 24 15:20:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
(movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
'o' to 'm' for GPR variant constraints.
+>>>>>>> 1.1938
Mon Aug 24 10:25:46 1998 Jeffrey A Law (law@cygnus.com)
* loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 0715293..8eca4be 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1480,7 +1480,7 @@ reorg.o : reorg.c $(CONFIG_H) system.h $(RTL_H) conditions.h hard-reg-set.h \
$(BASIC_BLOCK_H) $(REGS_H) insn-config.h insn-attr.h \
insn-flags.h $(RECOG_H) flags.h output.h $(EXPR_H)
alias.o : alias.c $(CONFIG_H) system.h $(RTL_H) flags.h hard-reg-set.h \
- $(REGS_H) toplev.h $(EXPR_H)
+ $(REGS_H) toplev.h output.h $(EXPR_H)
regmove.o : regmove.c $(CONFIG_H) system.h $(RTL_H) insn-config.h \
$(RECOG_H) output.h reload.h $(REGS_H) hard-reg-set.h flags.h \
$(EXPR_H) insn-flags.h $(BASIC_BLOCK_H) toplev.h
diff --git a/gcc/alias.c b/gcc/alias.c
index 8e0d21b..7c6c75f 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -26,6 +26,7 @@ Boston, MA 02111-1307, USA. */
#include "regs.h"
#include "hard-reg-set.h"
#include "flags.h"
+#include "output.h"
#include "toplev.h"
static rtx canon_rtx PROTO((rtx));
@@ -58,11 +59,14 @@ static rtx find_base_value PROTO((rtx));
#endif
/* Returns nonzero if MEM1 and MEM2 do not alias because they are in
- different alias sets. */
-#define DIFFERENT_ALIAS_SETS_P(MEM1, MEM2) \
- (CHECK_ALIAS_SETS_FOR_CONSISTENCY(MEM1, MEM2), \
- MEM_ALIAS_SET (MEM1) && MEM_ALIAS_SET (MEM2) \
- && MEM_ALIAS_SET (MEM1) != MEM_ALIAS_SET (MEM2))
+ different alias sets. We ignore alias sets in functions making use
+ of variable arguments because the va_arg macros on some systems are
+ not legal ANSI C. */
+#define DIFFERENT_ALIAS_SETS_P(MEM1, MEM2) \
+ (CHECK_ALIAS_SETS_FOR_CONSISTENCY(MEM1, MEM2), \
+ MEM_ALIAS_SET (MEM1) && MEM_ALIAS_SET (MEM2) \
+ && MEM_ALIAS_SET (MEM1) != MEM_ALIAS_SET (MEM2) \
+ && !current_function_stdarg && !current_function_varargs)
/* Cap the number of passes we make over the insns propagating alias
information through set chains.