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