X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/0fe5a72a262cd4680513d135e1161f345fc3afb1..5202b6ac1d3662fe283240aab1b29f35607995cd:/tests/actions.at diff --git a/tests/actions.at b/tests/actions.at index 3021c7a9..b1695132 100644 --- a/tests/actions.at +++ b/tests/actions.at @@ -1607,115 +1607,6 @@ AT_TEST([glr.cc]) m4_popdef([AT_TEST]) -## ----------------------------------------------- ## -## 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_BISON_OPTION_PUSHDEFS -AT_DATA([input.y], -[[%% -start: test2 test1 test0 testc; - -test2 -: 'a' { semi; /* TEST:N:2 */ } -| 'b' { if (0) {no_semi} /* TEST:N:2 */ } -| 'c' { if (0) {semi;} /* TEST:N:2 */ } -| 'd' { semi; no_semi /* TEST:Y:2 */ } -| 'e' { semi(); no_semi() /* TEST:Y:2 */ } -| 'f' { semi[]; no_semi[] /* TEST:Y:2 */ } -| 'g' { semi++; no_semi++ /* TEST:Y:2 */ } -| 'h' { {no_semi} no_semi /* TEST:Y:2 */ } -| 'i' { {semi;} no_semi /* TEST:Y:2 */ } -; -test1 - : 'a' { semi; // TEST:N:1 ; -} | 'b' { if (0) {no_semi} // TEST:N:1 ; -} | 'c' { if (0) {semi;} // TEST:N:1 ; -} | 'd' { semi; no_semi // TEST:Y:1 ; -} | 'e' { semi(); no_semi() // TEST:Y:1 ; -} | 'f' { semi[]; no_semi[] // TEST:Y:1 ; -} | 'g' { semi++; no_semi++ // TEST:Y:1 ; -} | 'h' { {no_semi} no_semi // TEST:Y:1 ; -} | 'i' { {semi;} no_semi // TEST:Y:1 ; -} ; -test0 - : 'a' { semi; // TEST:N:1 {} -} | 'b' { if (0) {no_semi} // TEST:N:1 {} -} | 'c' { if (0) {semi;} // TEST:N:1 {} -} | 'd' { semi; no_semi // TEST:Y:1 {} -} | 'e' { semi(); no_semi() // TEST:Y:1 {} -} | 'f' { semi[]; no_semi[] // TEST:Y:1 {} -} | 'g' { semi++; no_semi++ // TEST:Y:1 {} -} | 'h' { {no_semi} no_semi // TEST:Y:1 {} -} | 'i' { {semi;} no_semi // TEST:Y:1 {} -} ; - -testc -: 'a' { -#define TEST_MACRO_N \ -[]"broken\" $ @ $$ @$ [];\ -string;"} -| 'b' { -no_semi -#define TEST_MACRO_N \ -[]"broken\" $ @ $$ @$ [];\ -string;"} -]]) -AT_BISON_OPTION_POPDEFS - -AT_BISON_CHECK([[-o input.c input.y]], [0], [], -[[input.y:8.48: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:8.48: future versions of Bison will not add the ';' -input.y:9.48: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:9.48: future versions of Bison will not add the ';' -input.y:10.48: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:10.48: future versions of Bison will not add the ';' -input.y:11.48: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:11.48: future versions of Bison will not add the ';' -input.y:12.48: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:12.48: future versions of Bison will not add the ';' -input.y:13.48: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:13.48: future versions of Bison will not add the ';' -input.y:20.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:20.1: future versions of Bison will not add the ';' -input.y:21.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:21.1: future versions of Bison will not add the ';' -input.y:22.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:22.1: future versions of Bison will not add the ';' -input.y:23.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:23.1: future versions of Bison will not add the ';' -input.y:24.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:24.1: future versions of Bison will not add the ';' -input.y:25.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:25.1: future versions of Bison will not add the ';' -input.y:31.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:31.1: future versions of Bison will not add the ';' -input.y:32.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:32.1: future versions of Bison will not add the ';' -input.y:33.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:33.1: future versions of Bison will not add the ';' -input.y:34.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:34.1: future versions of Bison will not add the ';' -input.y:35.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:35.1: future versions of Bison will not add the ';' -input.y:36.1: warning: a ';' might be needed at the end of action code [-Wdeprecated] -input.y:36.1: future versions of Bison will not add the ';' -]]) - -AT_MATCHES_CHECK([input.c], [[/\* TEST:N:2 \*/ \}$]], [[3]]) -AT_MATCHES_CHECK([input.c], [[/\* TEST:Y:2 \*/ ;\}$]], [[6]]) -AT_MATCHES_CHECK([input.c], [[// TEST:N:1 [;{}]*\n\}$]], [[6]]) -AT_MATCHES_CHECK([input.c], [[// TEST:Y:1 [;{}]*\n;\}$]], [[12]]) -AT_MATCHES_CHECK([input.c], [[#define TEST_MACRO_N \\\n\[\]"broken\\" \$ \@ \$\$ \@\$ \[\];\\\nstring;"\}]], [[2]]) - -AT_CLEANUP - - ## -------------------------------------------------- ## ## Destroying lookahead assigned by semantic action. ## ## -------------------------------------------------- ##