From: Theophile Ranquet Date: Thu, 15 Nov 2012 12:02:40 +0000 (+0000) Subject: errors: indent missing action code semicolon warning X-Git-Tag: v2.6.90~20 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/d4e985d587a0111c8ad39cd56b815a7f63540116 errors: indent missing action code semicolon warning Also, remove a duplicate #define. * src/scan-code.l (SC_RULE_ACTION): Here. * tests/actions.at: Adjust. --- diff --git a/src/scan-code.l b/src/scan-code.l index fa593beb..560d3435 100644 --- a/src/scan-code.l +++ b/src/scan-code.l @@ -220,12 +220,16 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$" /* As an undocumented Bison extension, append ';' before the last brace in braced code, so that the user code can omit trailing ';'. But do not append ';' if emulating Yacc, since Yacc does - not append one. */ + not append one. This is deprecated since release 2.4.1. */ if (outer_brace && !yacc_flag && language_prio == default_prio && skeleton_prio == default_prio && need_semicolon && ! in_cpp) { - warn_at (*loc, _("a ';' might be needed at the end of action code")); - warn_at (*loc, _("future versions of Bison will not add the ';'")); + unsigned int indent = 0; + warn_at_indent (*loc, &indent, + _("a ';' might be needed at the end of action code")); + indent += SUB_INDENT; + warn_at_indent (*loc, &indent, + _("future versions of Bison will not add the ';'")); obstack_1grow (&obstack_for_string, ';'); } @@ -489,9 +493,6 @@ show_sub_messages (const char* cp, bool explicit_bracketing, points to LHS ($$) of the current rule or midrule. */ #define LHS_REF (INT_MIN + 1) -/* Sub-messages indent. */ -#define SUB_INDENT (4) - /* Parse named or positional reference. In case of positional references, can return negative values for $-n "deep" stack accesses. */ diff --git a/tests/actions.at b/tests/actions.at index 17e6085b..5e897a2e 100644 --- a/tests/actions.at +++ b/tests/actions.at @@ -1586,41 +1586,41 @@ 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 -input.y:8.48: warning: future versions of Bison will not add the ';' +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 -input.y:9.48: warning: future versions of Bison will not add the ';' +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 -input.y:10.48: warning: future versions of Bison will not add the ';' +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 -input.y:11.48: warning: future versions of Bison will not add the ';' +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 -input.y:12.48: warning: future versions of Bison will not add the ';' +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 -input.y:13.48: warning: future versions of Bison will not add the ';' +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 -input.y:20.1: warning: future versions of Bison will not add the ';' +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 -input.y:21.1: warning: future versions of Bison will not add the ';' +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 -input.y:22.1: warning: future versions of Bison will not add the ';' +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 -input.y:23.1: warning: future versions of Bison will not add the ';' +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 -input.y:24.1: warning: future versions of Bison will not add the ';' +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 -input.y:25.1: warning: future versions of Bison will not add the ';' +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 -input.y:31.1: warning: future versions of Bison will not add the ';' +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 -input.y:32.1: warning: future versions of Bison will not add the ';' +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 -input.y:33.1: warning: future versions of Bison will not add the ';' +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 -input.y:34.1: warning: future versions of Bison will not add the ';' +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 -input.y:35.1: warning: future versions of Bison will not add the ';' +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 -input.y:36.1: warning: future versions of Bison will not add the ';' +input.y:36.1: future versions of Bison will not add the ';' ]]) AT_MATCHES_CHECK([input.c], [[/\* TEST:N:2 \*/ \}$]], [[3]])