diff -up bison-2.4.2/tests/skeletons.at\~ bison-2.4.2/tests/skeletons.at --- bison-2.4.2/tests/skeletons.at~ 2010-02-23 01:04:09.000000000 +0100 +++ bison-2.4.2/tests/skeletons.at 2010-04-08 20:28:49.000000000 +0200 @@ -288,45 +288,3 @@ foo.y:1.5-6: fatal error: M4 should exit ]]) AT_CLEANUP - - -## ------------------------------------------------ ## -## Fatal errors but M4 continues producing output. ## -## ------------------------------------------------ ## - -# At one time, if Bison encountered a fatal error during M4 processing, -# Bison failed to drain M4's output pipe. The result was a SIGPIPE. -# On some platforms, the default disposition for SIGPIPE is terminate, -# which was fine. On others, it's ignore, which caused M4 to report -# the broken pipe to the user, but we don't want to bother the user with -# that. - -# There is a race condition somewhere. That is, before the associated -# fix, running this test group many times in a row would occasionally -# produce a pass among all the failures. - -AT_SETUP([[Fatal errors but M4 continues producing output]]) - -AT_DATA([[gen-skel.pl]], -[[use warnings; -use strict; -my $M4 = "m4"; -my $DNL = "d"."nl"; -print "${M4}_divert_push(0)$DNL\n"; -print '@output(@,@)', "\n"; -(print "garbage"x10, "\n") for (1..1000); -print "${M4}_divert_pop(0)\n"; -]]) -AT_CHECK([[perl gen-skel.pl > skel.c || exit 77]]) - -AT_DATA([[input.y]], -[[%skeleton "./skel.c" -%% -start: ; -]]) - -AT_BISON_CHECK([[input.y]], [[1]], [[]], -[[input.y: fatal error: too many arguments for @output directive in skeleton -]]) - -AT_CLEANUP Diff finished. Thu Apr 8 20:28:56 2010