From: Joel E. Denny Date: Tue, 4 Nov 2008 20:03:00 +0000 (-0500) Subject: Fix user actions without a trailing semicolon. X-Git-Tag: v2.7.90~1145 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/58bd33b7fc5d13fbd4b61404e1e878ab3b3c16da?ds=inline Fix user actions without a trailing semicolon. Reported by Sergei Steshenko at . * THANKS (Sergei Steshenko): Add. * src/scan-code.l (SC_RULE_ACTION): Fix it. * tests/regression.at (Fix user actions without a trailing semicolon): New test case. --- diff --git a/ChangeLog b/ChangeLog index 0e93d7c5..ec5dd705 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-11-04 Joel E. Denny + + Fix user actions without a trailing semicolon. + Reported by Sergei Steshenko at + . + * THANKS (Sergei Steshenko): Add. + * src/scan-code.l (SC_RULE_ACTION): Fix it. + * tests/regression.at (Fix user actions without a trailing semicolon): + New test case. + 2008-11-04 Akim Demaille Use b4_copyright_years. diff --git a/THANKS b/THANKS index 91459166..761e276f 100644 --- a/THANKS +++ b/THANKS @@ -81,6 +81,7 @@ Robert Anisko anisko_r@epita.fr Satya Kiran Popuri satyakiran@gmail.com Sebastien Fricker sebastien.fricker@gmail.com Sebastian Setzer sebastian.setzer.ext@siemens.com +Sergei Steshenko sergstesh@yahoo.com Shura debil_urod@ngs.ru Steve Murphy murf@parsetree.com Tim Josling tej@melbpc.org.au diff --git a/src/scan-code.l b/src/scan-code.l index 630d45d5..71c90768 100644 --- a/src/scan-code.l +++ b/src/scan-code.l @@ -1,6 +1,6 @@ /* Bison Action Scanner -*- C -*- - Copyright (C) 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -170,7 +170,7 @@ splice (\\[ \f\t\v]*\n)* "{" STRING_GROW; ++braces_level; "}" { - bool outer_brace = --braces_level < 0; + bool outer_brace = --braces_level == 0; /* As an undocumented Bison extension, append `;' before the last brace in braced code, so that the user code can omit trailing diff --git a/tests/regression.at b/tests/regression.at index 51bf3f30..6bfc8d09 100644 --- a/tests/regression.at +++ b/tests/regression.at @@ -1201,7 +1201,7 @@ AT_CLEANUP ## Token number in precedence declaration. ## ## ---------------------------------------- ## -AT_SETUP([[Token number in precedence declaration.]]) +AT_SETUP([[Token number in precedence declaration]]) # POSIX says token numbers can be declared in %left, %right, and %nonassoc, but # we lost this in Bison 1.50. @@ -1255,3 +1255,27 @@ AT_COMPILE([[input]]) AT_PARSER_CHECK([[./input]]) AT_CLEANUP + + + +## ----------------------------------------------- ## +## Fix user actions without a trailing semicolon. ## +## ----------------------------------------------- ## + +AT_SETUP([[Fix user actions without a trailing semicolon]]) + +# This feature is undocumented, but we accidentally broke it in 2.3a, and there +# was a complaint at: +# . + +AT_DATA([input.y], +[[%% +start: {asdffdsa} ; +]]) + +AT_BISON_CHECK([[-o input.c input.y]]) +AT_CHECK([[sed -n '/asdffdsa/s/^ *//p' input.c]], [[0]], +[[{asdffdsa;} +]]) + +AT_CLEANUP