On Fri, 11 Sep 2009, Joel E. Denny wrote:

> Here are two new patches that I'd like to apply to master and branch-2.5.
> 
> The first patch adds two new test groups to regression.at.

> >From dc23d678388635a058492294f6cd45105f581c98 Mon Sep 17 00:00:00 2001
> From: Joel E. Denny <[email protected]>
> Date: Thu, 10 Sep 2009 18:29:01 -0400
> Subject: [PATCH] yacc.c: test yysyntax_error memory management more.
> 
> * tests/regression.at (-Dparse.error=verbose and
> YYSTACK_USE_ALLOCA): New test group.
> (-Dparse.error=verbose overflow): New test group that reveals
> an obscure bug.  Expected fail for now.

The following needs to be folded into that patch to fix 
maintainer-push-check.  It also improves the diagnostic.

diff --git a/tests/regression.at b/tests/regression.at
index 7e17a91..de91823 100644
--- a/tests/regression.at
+++ b/tests/regression.at
@@ -1382,7 +1382,12 @@ check:
       fprintf (stderr,
                "The assumptions of this test group are no longer\n"
                "valid, so it may no longer catch the error it was\n"
-               "designed to catch.\n");
+               "designed to catch.  Specifically, the following\n"
+               "values should all be 255:\n\n");
+      fprintf (stderr, "  yymsg_alloc = %d\n", yymsg_alloc);
+      fprintf (stderr, "  YYSTACK_ALLOC_MAXIMUM = %d\n",
+               YYSTACK_ALLOC_MAXIMUM);
+      fprintf (stderr, "  YYSIZE_MAXIMUM = %d\n", YYSIZE_MAXIMUM);
       YYABORT;
     }
 }
@@ -1417,6 +1422,10 @@ yylex (void)
 int
 main (void)
 {
+  /* Push parsers throw away the message buffer between tokens, so skip
+     this test under maintainer-push-check.  */
+  if (YYPUSH)
+    return 77;
   return yyparse ();
 }
 ]])


Reply via email to