Submitted By:            Matt Burgess <matthew_at_linuxfromscratch_dot_org>
Date:                    2010-04-18
Initial Package Version: 2.4.2
Upstream Status:         From upstream
Origin:                  http://lists.gnu.org/archive/html/bug-bison/2010-03/msg00033.html
Description:             GCC-4.5.0 changed the format of its output for #error
                         messages.  Fix the test suite to handle the new format.

diff -Naur bison-2.4.2.orig/NEWS bison-2.4.2/NEWS
--- bison-2.4.2.orig/NEWS	2010-03-20 17:07:23.000000000 +0000
+++ bison-2.4.2/NEWS	2010-04-18 13:32:59.765438333 +0000
@@ -1,6 +1,8 @@
 Bison News
 ----------
 
+** Failures in the test suite for GCC 4.5 have been fixed.
+
 * Changes in version 2.4.2 (2010-03-20):
 
 ** Some portability problems that resulted in failures and livelocks
diff -Naur bison-2.4.2.orig/tests/synclines.at bison-2.4.2/tests/synclines.at
--- bison-2.4.2.orig/tests/synclines.at	2010-02-25 04:56:43.000000000 +0000
+++ bison-2.4.2/tests/synclines.at	2010-04-18 13:32:59.765438333 +0000
@@ -71,7 +71,9 @@
 AT_DATA([[input.y]], [$2])
 AT_BISON_CHECK([-o input.c input.y])
 AT_SYNCLINES_COMPILE([input.c])
-AT_CHECK([cat stdout], 0, [$3])
+# GCC 4.5 tells you the function within which #error appears, but
+# previous versions of gcc do not.
+AT_CHECK([grep -v ': In function ' stdout], 0, [$3])
 AT_CLEANUP
 ])
 
diff -Naur bison-2.4.2.orig/tests/testsuite bison-2.4.2/tests/testsuite
--- bison-2.4.2.orig/tests/testsuite	2010-03-20 17:16:02.000000000 +0000
+++ bison-2.4.2/tests/testsuite	2010-04-18 13:34:37.345569087 +0000
@@ -16011,7 +16011,7 @@
 { set +x
 $as_echo "$at_srcdir/synclines.at:144: cat stdout"
 at_fn_check_prepare_trace "synclines.at:144"
-( $at_check_trace; cat stdout
+( $at_check_trace; grep -v ': In function ' stdout
 ) >>"$at_stdout" 2>>"$at_stderr"
 at_status=$? at_failed=false
 $at_check_filter
