2002-10-29 Phil Edwards <pme@gcc.gnu.org>
authorpme <pme@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 29 Oct 2002 21:37:13 +0000 (21:37 +0000)
committerpme <pme@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 29 Oct 2002 21:37:13 +0000 (21:37 +0000)
* Makefile.in (gnucompare*):  Only record bad comparisons
if there really was a bad comparison.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58635 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/Makefile.in

index 7c7837f..edd8a7e 100644 (file)
@@ -1,3 +1,8 @@
+2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
+
+       * Makefile.in (gnucompare*):  Only record bad comparisons
+       if there really was a bad comparison.
+
 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
 
        * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
index e97c302..8f2256c 100644 (file)
@@ -3490,18 +3490,21 @@ compare compare3 compare4 compare-lean compare3-lean compare4-lean: force
 # Compare the object files in the current directory with those in the
 # stage2 directory.  Use gnu cmp (diffutils v2.4 or later) to avoid
 # running tail and the overhead of twice copying each object file.
-
+# An exit status of 1 is precisely the result we're looking for (other
+# values mean other problems).
 gnucompare gnucompare3 gnucompare4 gnucompare-lean gnucompare3-lean gnucompare4-lean: force
        -rm -f .bad_compare
        case "$@" in gnucompare | gnucompare-lean ) stage=2 ;; * ) stage=`echo $@ | sed -e 's,^gnucompare\([0-9][0-9]*\).*,\1,'` ;; esac; \
        for file in *$(objext); do \
-         (cmp --ignore-initial=16 $$file stage$$stage/$$file > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
+         cmp --ignore-initial=16 $$file stage$$stage/$$file > /dev/null 2>&1; \
+         test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
        done
        case "$@" in gnucompare | gnucompare-lean ) stage=2 ;; * ) stage=`echo $@ | sed -e 's,^gnucompare\([0-9][0-9]*\).*,\1,'` ;; esac; \
        for dir in tmp-foo intl $(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; \
+             cmp --ignore-initial=16 $$file stage$$stage/$$file > /dev/null 2>&1; \
+             test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
            done; \
          else true; fi; \
        done