Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/gnu/dist/gcc Merge egcs 1.1.2 conflicts.
details: https://anonhg.NetBSD.org/src/rev/22c404460aa8
branches: trunk
changeset: 471633:22c404460aa8
user: tv <tv%NetBSD.org@localhost>
date: Tue Apr 06 16:04:00 1999 +0000
description:
Merge egcs 1.1.2 conflicts.
diffstat:
gnu/dist/gcc/Makefile.in | 44 +++-
gnu/dist/gcc/c-common.c | 6 +
gnu/dist/gcc/config/alpha/alpha.h | 26 +-
gnu/dist/gcc/configure | 408 ++++++++++++++++++++++++++-----------
gnu/dist/gcc/configure.in | 97 ++++++++-
gnu/dist/gcc/cp/decl2.c | 6 +
gnu/dist/gcc/explow.c | 4 +-
gnu/dist/gcc/expr.c | 152 ++++++++++++-
gnu/dist/gcc/fold-const.c | 26 +-
gnu/dist/gcc/gcc.1 | 2 +-
gnu/dist/gcc/reg-stack.c | 8 +-
11 files changed, 604 insertions(+), 175 deletions(-)
diffs (truncated from 1916 to 300 lines):
diff -r dce9373a4e0d -r 22c404460aa8 gnu/dist/gcc/Makefile.in
--- a/gnu/dist/gcc/Makefile.in Tue Apr 06 15:07:33 1999 +0000
+++ b/gnu/dist/gcc/Makefile.in Tue Apr 06 16:04:00 1999 +0000
@@ -280,6 +280,8 @@
assertdir = $(tooldir)/include
# where the info files go
infodir = @infodir@
+# Where cpp should go besides $prefix/bin if necessary
+cpp_install_dir = @cpp_install_dir@
# Extension (if any) to put in installed man-page filename.
manext = .1
objext = .o
@@ -383,6 +385,10 @@
# Assembler files should have names ending in `.asm'.
LIB2FUNCS_EXTRA =
+# Handle cpp installation.
+INSTALL_CPP=
+UNINSTALL_CPP=
+
# Default float.h source to use for cross-compiler.
# This is overridden by configure.
CROSS_FLOAT_H=$(srcdir)/config/float-@float_format@.h
@@ -1429,7 +1435,7 @@
jump.o : jump.c $(CONFIG_H) system.h $(RTL_H) flags.h hard-reg-set.h $(REGS_H) \
insn-config.h insn-flags.h $(RECOG_H) $(EXPR_H) real.h except.h \
- toplev.h
+ toplev.h insn-attr.h
stupid.o : stupid.c $(CONFIG_H) system.h $(RTL_H) $(REGS_H) hard-reg-set.h \
flags.h toplev.h
@@ -2259,7 +2265,8 @@
# Install the driver last so that the window when things are
# broken is small.
install-normal: install-common $(INSTALL_HEADERS) $(INSTALL_LIBGCC) \
- install-man install-info lang.install-normal install-driver
+ $(INSTALL_CPP) install-man install-info lang.install-normal \
+ install-driver
# Do nothing while making gcc with a cross-compiler. The person who
# makes gcc for the target machine has to know how to put a complete
@@ -2271,6 +2278,25 @@
# to finish installation of cross compiler.
install-cross-rest: install-float-h-cross
+# Handle cpp installation.
+install-cpp: cpp.sh
+ -rm -f $(bindir)/cpp
+ $(INSTALL_PROGRAM) -m 755 cpp.sh $(bindir)/cpp
+ if [ x$(cpp_install_dir) != x ]; then \
+ rm -f $(cpp_install_dir)/cpp; \
+ $(INSTALL_PROGRAM) -m 755 cpp.sh $(cpp_install_dir)/cpp; \
+ else true; fi
+
+cpp.sh: $(srcdir)/cpp.in Makefile
+ sed -e 's%@GCC@%'$(GCC_INSTALL_NAME)'%' $(srcdir)/cpp.in > xcpp.T
+ mv -f xcpp.T cpp.sh
+
+uninstall-cpp:
+ -rm -f $(bindir)/cpp
+ -if [ x$(cpp_install_dir) != x ]; then \
+ rm -f $(cpp_install_dir)/cpp; \
+ else true; fi
+
# Install float.h for cross compiler.
# Run this on the target machine!
install-float-h-cross: installdirs
@@ -2501,7 +2527,7 @@
$(INSTALL_PROGRAM) xgcc$(exeext) $(libsubdir)/gcc$(exeext)
# Cancel installation by deleting the installed files.
-uninstall: lang.uninstall
+uninstall: lang.uninstall $(UNINSTALL_CPP)
-rm -rf $(libsubdir)
-rm -rf $(bindir)/$(GCC_INSTALL_NAME)$(exeext)
-rm -rf $(bindir)/$(GCC_CROSS_NAME)$(exeext)
@@ -2746,9 +2772,11 @@
for dir in tmp-foo $(SUBDIRS); do \
if [ "`echo $$dir/*$(objext)`" != "$$dir/*$(objext)" ] ; then \
for file in $$dir/*$(objext); do \
- tail +16c ./$$file > tmp-foo1; \
- tail +16c stage$$stage/$$file > tmp-foo2 \
- && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
+ if [ $$file != objc/NXConstStr.o -a $$file != objc/Object.o -a $$file != objc/Protocol.o -a $$file != objc/linking.o ] ; then \
+ tail +16c ./$$file > tmp-foo1; \
+ tail +16c stage$$stage/$$file > tmp-foo2 \
+ && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
+ else true; fi; \
done; \
fi; \
done
@@ -2779,7 +2807,9 @@
for dir in tmp-foo $(SUBDIRS); do \
if [ "`echo $$dir/*$(objext)`" != "$$dir/*$(objext)" ] ; then \
for file in $$dir/*$(objext); do \
- (cmp --ignore-initial=16 $$file stage$$stage/$$file > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
+ if [ $$file != objc/NXConstStr.o -a $$file != objc/Object.o -a $$file != objc/Protocol.o -a $$file != objc/linking.o ] ; then \
+ (cmp --ignore-initial=16 $$file stage$$stage/$$file > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
+ else true; fi; \
done; \
fi; \
done
diff -r dce9373a4e0d -r 22c404460aa8 gnu/dist/gcc/c-common.c
--- a/gnu/dist/gcc/c-common.c Tue Apr 06 15:07:33 1999 +0000
+++ b/gnu/dist/gcc/c-common.c Tue Apr 06 16:04:00 1999 +0000
@@ -2376,6 +2376,12 @@
type = signed_or_unsigned_type (unsignedp0, TREE_TYPE (primop0));
+ /* If TYPE is an enumeration, then we need to get its min/max
+ values from it's underlying integral type, not the enumerated
+ type itself. */
+ if (TREE_CODE (type) == ENUMERAL_TYPE)
+ type = type_for_size (TYPE_PRECISION (type), unsignedp0);
+
maxval = TYPE_MAX_VALUE (type);
minval = TYPE_MIN_VALUE (type);
diff -r dce9373a4e0d -r 22c404460aa8 gnu/dist/gcc/config/alpha/alpha.h
--- a/gnu/dist/gcc/config/alpha/alpha.h Tue Apr 06 15:07:33 1999 +0000
+++ b/gnu/dist/gcc/config/alpha/alpha.h Tue Apr 06 16:04:00 1999 +0000
@@ -608,18 +608,20 @@
/* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.
On Alpha, the integer registers can hold any mode. The floating-point
registers can hold 32-bit and 64-bit integers as well, but not 16-bit
- or 8-bit values. If we only allowed the larger integers into FP registers,
- we'd have to say that QImode and SImode aren't tiable, which is a
- pain. So say all registers can hold everything and see how that works. */
-
-#define HARD_REGNO_MODE_OK(REGNO, MODE) 1
+ or 8-bit values. */
+
+#define HARD_REGNO_MODE_OK(REGNO, MODE) \
+ ((REGNO) < 32 || ((MODE) != QImode && (MODE) != HImode))
/* Value is 1 if it is a good idea to tie two pseudo registers
when one has mode MODE1 and one has mode MODE2.
If HARD_REGNO_MODE_OK could produce different values for MODE1 and MODE2,
for any hard reg, then this must be 0 for correct output. */
-#define MODES_TIEABLE_P(MODE1, MODE2) 1
+#define MODES_TIEABLE_P(MODE1, MODE2) \
+ ((MODE1) == QImode || (MODE1) == HImode \
+ ? (MODE2) == QImode || (MODE2) == HImode \
+ : 1)
/* Specify the registers used for certain standard purposes.
The values of these macros are register numbers. */
@@ -1497,6 +1499,18 @@
#define LEGITIMIZE_RELOAD_ADDRESS(X,MODE,OPNUM,TYPE,IND_LEVELS,WIN) \
do { \
+ /* We must recognize output that we have already generated ourselves. */ \
+ if (GET_CODE (X) == PLUS \
+ && GET_CODE (XEXP (X, 0)) == PLUS \
+ && GET_CODE (XEXP (XEXP (X, 0), 0)) == REG \
+ && GET_CODE (XEXP (XEXP (X, 0), 1)) == CONST_INT \
+ && GET_CODE (XEXP (X, 1)) == CONST_INT) \
+ { \
+ push_reload (XEXP (X, 0), NULL_RTX, &XEXP (X, 0), NULL_PTR, \
+ BASE_REG_CLASS, GET_MODE (X), VOIDmode, 0, 0, \
+ OPNUM, TYPE); \
+ goto WIN; \
+ } \
if (GET_CODE (X) == PLUS \
&& GET_CODE (XEXP (X, 0)) == REG \
&& REGNO (XEXP (X, 0)) < FIRST_PSEUDO_REGISTER \
diff -r dce9373a4e0d -r 22c404460aa8 gnu/dist/gcc/configure
--- a/gnu/dist/gcc/configure Tue Apr 06 15:07:33 1999 +0000
+++ b/gnu/dist/gcc/configure Tue Apr 06 16:04:00 1999 +0000
@@ -1,7 +1,7 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.12.1
+# Generated automatically using autoconf version 2.13
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
@@ -359,7 +359,7 @@
verbose=yes ;;
-version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.12.1"
+ echo "configure generated by autoconf version 2.13"
exit 0 ;;
-with-* | --with-*)
@@ -529,9 +529,11 @@
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
cross_compiling=$ac_cv_prog_cc_cross
+ac_exeext=
+ac_objext=o
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
# Stardent Vistra SVR4 grep lacks -e, says ghazi%caip.rutgers.edu@localhost.
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
@@ -765,7 +767,7 @@
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:769: checking host system type" >&5
+echo "configure:771: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -786,7 +788,7 @@
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:790: checking target system type" >&5
+echo "configure:792: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -804,7 +806,7 @@
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:808: checking build system type" >&5
+echo "configure:810: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -831,15 +833,16 @@
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:835: checking for $ac_word" >&5
+echo "configure:837: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
ac_cv_prog_CC="gcc"
@@ -860,16 +863,17 @@
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:864: checking for $ac_word" >&5
+echo "configure:867: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_prog_rejected=no
- for ac_dir in $PATH; do
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/$ac_word; then
if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
@@ -904,25 +908,61 @@
echo "$ac_t""no" 1>&6
fi
+ if test -z "$CC"; then
+ case "`uname -s`" in
+ *win32* | *WIN32*)
+ # Extract the first word of "cl", so it can be a program name with args.
+set dummy cl; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:918: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="cl"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
Home |
Main Index |
Thread Index |
Old Index