mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-19 17:23:02 +00:00
quote consistently and make tests pass with new quoting from gnulib
Updating to gnulib pulled in new quote and quotarg modules,
by which quoting is now done like 'this' rather than `this'.
That change induces many "make check" test failures. This change
adapts code and tests so that "make check" passes once again.
* src/scan-code.l: Quote like 'this', not like `this'.
* src/scan-gram.l: Likewise.
* src/symtab.c: Likewise.
* tests/actions.at: Adjust tests to match.
* tests/input.at: Likewise.
* tests/named-refs.at: Likewise.
* tests/output.at: Likewise.
* tests/regression.at: Likewise.
* lib/.gitignore: Regenerate.
* m4/.gitignore: Likewise.
(cherry picked from commit ae93e4e4b8)
Conflicts:
src/scan-code.l
src/scan-gram.l
src/symtab.c
tests/output.at
This commit is contained in:
committed by
Akim Demaille
parent
14594e38ad
commit
9874f80b2e
16
lib/.gitignore
vendored
16
lib/.gitignore
vendored
@@ -243,3 +243,19 @@
|
|||||||
/xstrndup.c
|
/xstrndup.c
|
||||||
/xstrndup.h
|
/xstrndup.h
|
||||||
|
|
||||||
|
/c-strcaseeq.h
|
||||||
|
/fd-hook.c
|
||||||
|
/fd-hook.h
|
||||||
|
/float.c
|
||||||
|
/fstat.c
|
||||||
|
/itold.c
|
||||||
|
/msvc-inval.c
|
||||||
|
/msvc-inval.h
|
||||||
|
/msvc-nothrow.c
|
||||||
|
/msvc-nothrow.h
|
||||||
|
/pathmax.h
|
||||||
|
/raise.c
|
||||||
|
/strerror-override.c
|
||||||
|
/strerror-override.h
|
||||||
|
/strerror_r.c
|
||||||
|
/xalloc-oversized.h
|
||||||
|
|||||||
9
m4/.gitignore
vendored
9
m4/.gitignore
vendored
@@ -157,3 +157,12 @@
|
|||||||
/xsize.m4
|
/xsize.m4
|
||||||
/xstrndup.m4
|
/xstrndup.m4
|
||||||
|
|
||||||
|
/fstat.m4
|
||||||
|
/largefile.m4
|
||||||
|
/ldexp.m4
|
||||||
|
/msvc-inval.m4
|
||||||
|
/msvc-nothrow.m4
|
||||||
|
/pathmax.m4
|
||||||
|
/raise.m4
|
||||||
|
/ssize_t.m4
|
||||||
|
/strerror_r.m4
|
||||||
|
|||||||
@@ -95,10 +95,10 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
|||||||
int braces_level = 0;
|
int braces_level = 0;
|
||||||
|
|
||||||
/* Whether a semicolon is probably needed.
|
/* Whether a semicolon is probably needed.
|
||||||
The heuristic is that a semicolon is not needed after `{', `}', `;',
|
The heuristic is that a semicolon is not needed after '{', '}', ';',
|
||||||
or a C preprocessor directive, and that whitespaces and comments
|
or a C preprocessor directive, and that whitespaces and comments
|
||||||
do not affect this flag.
|
do not affect this flag.
|
||||||
Note that `{' does not need a semicolon because of `{}'.
|
Note that '{' does not need a semicolon because of '{}'.
|
||||||
A semicolon may be needed before a cpp direcive, but don't bother. */
|
A semicolon may be needed before a cpp direcive, but don't bother. */
|
||||||
bool need_semicolon = false;
|
bool need_semicolon = false;
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
|||||||
%}
|
%}
|
||||||
|
|
||||||
/*------------------------------------------------------------.
|
/*------------------------------------------------------------.
|
||||||
| Scanning a C comment. The initial `/ *' is already eaten. |
|
| Scanning a C comment. The initial '/ *' is already eaten. |
|
||||||
`------------------------------------------------------------*/
|
`------------------------------------------------------------*/
|
||||||
|
|
||||||
<SC_COMMENT>
|
<SC_COMMENT>
|
||||||
@@ -127,7 +127,7 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
|||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------.
|
/*--------------------------------------------------------------.
|
||||||
| Scanning a line comment. The initial `//' is already eaten. |
|
| Scanning a line comment. The initial '//' is already eaten. |
|
||||||
`--------------------------------------------------------------*/
|
`--------------------------------------------------------------*/
|
||||||
|
|
||||||
<SC_LINE_COMMENT>
|
<SC_LINE_COMMENT>
|
||||||
@@ -197,12 +197,12 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
|||||||
need_semicolon = true;
|
need_semicolon = true;
|
||||||
}
|
}
|
||||||
"$" {
|
"$" {
|
||||||
warn_at (*loc, _("stray `$'"));
|
warn_at (*loc, _("stray '$'"));
|
||||||
obstack_sgrow (&obstack_for_string, "$][");
|
obstack_sgrow (&obstack_for_string, "$][");
|
||||||
need_semicolon = true;
|
need_semicolon = true;
|
||||||
}
|
}
|
||||||
"@" {
|
"@" {
|
||||||
warn_at (*loc, _("stray `@'"));
|
warn_at (*loc, _("stray '@'"));
|
||||||
obstack_sgrow (&obstack_for_string, "@@");
|
obstack_sgrow (&obstack_for_string, "@@");
|
||||||
need_semicolon = true;
|
need_semicolon = true;
|
||||||
}
|
}
|
||||||
@@ -220,16 +220,16 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
|||||||
"}" {
|
"}" {
|
||||||
bool outer_brace = --braces_level == 0;
|
bool outer_brace = --braces_level == 0;
|
||||||
|
|
||||||
/* As an undocumented Bison extension, append `;' before the last
|
/* As an undocumented Bison extension, append ';' before the last
|
||||||
brace in braced code, so that the user code can omit trailing
|
brace in braced code, so that the user code can omit trailing
|
||||||
`;'. But do not append `;' if emulating Yacc, since Yacc does
|
';'. But do not append ';' if emulating Yacc, since Yacc does
|
||||||
not append one. */
|
not append one. */
|
||||||
if (outer_brace && !yacc_flag && language_prio == default_prio
|
if (outer_brace && !yacc_flag && language_prio == default_prio
|
||||||
&& skeleton_prio == default_prio && need_semicolon && ! in_cpp)
|
&& skeleton_prio == default_prio && need_semicolon && ! in_cpp)
|
||||||
{
|
{
|
||||||
warn_at (*loc, _("a `;' might be needed at the end of action code"));
|
warn_at (*loc, _("a ';' might be needed at the end of action code"));
|
||||||
warn_at (*loc, _("future versions of Bison will not add the `;'"));
|
warn_at (*loc, _("future versions of Bison will not add the ';'"));
|
||||||
obstack_1grow (&obstack_for_string, ';');
|
obstack_1grow (&obstack_for_string, ';');
|
||||||
}
|
}
|
||||||
|
|
||||||
STRING_GROW;
|
STRING_GROW;
|
||||||
@@ -238,8 +238,8 @@ ref -?[0-9]+|{id}|"["{id}"]"|"$"
|
|||||||
|
|
||||||
/* Preprocessing directives should only be recognized at the beginning
|
/* Preprocessing directives should only be recognized at the beginning
|
||||||
of lines, allowing whitespace including comments, but in C/C++,
|
of lines, allowing whitespace including comments, but in C/C++,
|
||||||
`#' can only be the start of preprocessor directives or within
|
'#' can only be the start of preprocessor directives or within
|
||||||
`#define' directives anyway, so don't bother with begin of line. */
|
'#define' directives anyway, so don't bother with begin of line. */
|
||||||
"#" STRING_GROW; in_cpp = true;
|
"#" STRING_GROW; in_cpp = true;
|
||||||
|
|
||||||
{splice} STRING_GROW;
|
{splice} STRING_GROW;
|
||||||
@@ -626,8 +626,8 @@ parse_ref (char *cp, symbol_list *rule, int rule_length,
|
|||||||
sym_loc.start.column += 1;
|
sym_loc.start.column += 1;
|
||||||
sym_loc.end = sym_loc.start;
|
sym_loc.end = sym_loc.start;
|
||||||
const char *format =
|
const char *format =
|
||||||
_("syntax error after `%c', expecting integer, letter,"
|
_("syntax error after '%c', expecting integer, letter,"
|
||||||
" `_', `[', or `$'");
|
" '_', '[', or '$'");
|
||||||
complain_at_indent (sym_loc, &indent, format, dollar_or_at);
|
complain_at_indent (sym_loc, &indent, format, dollar_or_at);
|
||||||
}
|
}
|
||||||
else if (midrule_rhs_index)
|
else if (midrule_rhs_index)
|
||||||
@@ -689,7 +689,7 @@ int max_left_semantic_context = 0;
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------.
|
/*------------------------------------------------------------------.
|
||||||
| TEXT is pointing to a wannabee semantic value (i.e., a `$'). |
|
| TEXT is pointing to a wannabee semantic value (i.e., a '$'). |
|
||||||
| |
|
| |
|
||||||
| Possible inputs: $[<TYPENAME>]($|integer) |
|
| Possible inputs: $[<TYPENAME>]($|integer) |
|
||||||
| |
|
| |
|
||||||
@@ -749,23 +749,23 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
|
|||||||
type_name = symbol_list_n_type_name_get (rule, dollar_loc, 0);
|
type_name = symbol_list_n_type_name_get (rule, dollar_loc, 0);
|
||||||
|
|
||||||
if (!type_name)
|
if (!type_name)
|
||||||
{
|
{
|
||||||
if (union_seen | tag_seen)
|
if (union_seen | tag_seen)
|
||||||
{
|
{
|
||||||
if (rule->midrule_parent_rule)
|
if (rule->midrule_parent_rule)
|
||||||
complain_at (dollar_loc,
|
complain_at (dollar_loc,
|
||||||
_("$$ for the midrule at $%d of `%s'"
|
_("$$ for the midrule at $%d of '%s'"
|
||||||
" has no declared type"),
|
" has no declared type"),
|
||||||
rule->midrule_parent_rhs_index,
|
rule->midrule_parent_rhs_index,
|
||||||
effective_rule->content.sym->tag);
|
effective_rule->content.sym->tag);
|
||||||
else
|
else
|
||||||
complain_at (dollar_loc, _("$$ of `%s' has no declared type"),
|
complain_at (dollar_loc, _("$$ of '%s' has no declared type"),
|
||||||
rule->content.sym->tag);
|
rule->content.sym->tag);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
untyped_var_seen = true;
|
untyped_var_seen = true;
|
||||||
type_name = "";
|
type_name = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
obstack_fgrow1 (&obstack_for_string,
|
obstack_fgrow1 (&obstack_for_string,
|
||||||
"]b4_lhs_value([%s])[", type_name);
|
"]b4_lhs_value([%s])[", type_name);
|
||||||
@@ -779,14 +779,14 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
|
|||||||
type_name =
|
type_name =
|
||||||
symbol_list_n_type_name_get (effective_rule, dollar_loc, n);
|
symbol_list_n_type_name_get (effective_rule, dollar_loc, n);
|
||||||
if (!type_name)
|
if (!type_name)
|
||||||
{
|
{
|
||||||
if (union_seen | tag_seen)
|
if (union_seen | tag_seen)
|
||||||
complain_at (dollar_loc, _("$%s of `%s' has no declared type"),
|
complain_at (dollar_loc, _("$%s of '%s' has no declared type"),
|
||||||
cp, effective_rule->content.sym->tag);
|
cp, effective_rule->content.sym->tag);
|
||||||
else
|
else
|
||||||
untyped_var_seen = true;
|
untyped_var_seen = true;
|
||||||
type_name = "";
|
type_name = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
obstack_fgrow3 (&obstack_for_string,
|
obstack_fgrow3 (&obstack_for_string,
|
||||||
"]b4_rhs_value(%d, %d, [%s])[",
|
"]b4_rhs_value(%d, %d, [%s])[",
|
||||||
@@ -800,7 +800,7 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------.
|
/*------------------------------------------------------.
|
||||||
| TEXT is a location token (i.e., a `@...'). Output to |
|
| TEXT is a location token (i.e., a '@...'). Output to |
|
||||||
| OBSTACK_FOR_STRING a reference to this location. |
|
| OBSTACK_FOR_STRING a reference to this location. |
|
||||||
`------------------------------------------------------*/
|
`------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -88,11 +88,11 @@ static void unexpected_newline (boundary, char const *);
|
|||||||
/* Strings and characters in directives/rules. */
|
/* Strings and characters in directives/rules. */
|
||||||
%x SC_ESCAPED_STRING SC_ESCAPED_CHARACTER
|
%x SC_ESCAPED_STRING SC_ESCAPED_CHARACTER
|
||||||
/* A identifier was just read in directives/rules. Special state
|
/* A identifier was just read in directives/rules. Special state
|
||||||
to capture the sequence `identifier :'. */
|
to capture the sequence 'identifier :'. */
|
||||||
%x SC_AFTER_IDENTIFIER
|
%x SC_AFTER_IDENTIFIER
|
||||||
|
|
||||||
/* Three types of user code:
|
/* Three types of user code:
|
||||||
- prologue (code between `%{' `%}' in the first section, before %%);
|
- prologue (code between '%{' '%}' in the first section, before %%);
|
||||||
- actions, printers, union, etc, (between braced in the middle section);
|
- actions, printers, union, etc, (between braced in the middle section);
|
||||||
- epilogue (everything after the second %%). */
|
- epilogue (everything after the second %%). */
|
||||||
%x SC_PROLOGUE SC_BRACED_CODE SC_EPILOGUE
|
%x SC_PROLOGUE SC_BRACED_CODE SC_EPILOGUE
|
||||||
@@ -146,7 +146,7 @@ splice (\\[ \f\t\v]*\n)*
|
|||||||
<INITIAL,SC_AFTER_IDENTIFIER,SC_BRACKETED_ID,SC_RETURN_BRACKETED_ID>
|
<INITIAL,SC_AFTER_IDENTIFIER,SC_BRACKETED_ID,SC_RETURN_BRACKETED_ID>
|
||||||
{
|
{
|
||||||
/* Comments and white space. */
|
/* Comments and white space. */
|
||||||
"," warn_at (*loc, _("stray `,' treated as white space"));
|
"," warn_at (*loc, _("stray ',' treated as white space"));
|
||||||
[ \f\n\t\v] |
|
[ \f\n\t\v] |
|
||||||
"//".* ;
|
"//".* ;
|
||||||
"/*" {
|
"/*" {
|
||||||
@@ -397,7 +397,7 @@ splice (\\[ \f\t\v]*\n)*
|
|||||||
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------.
|
/*---------------------------------------------------------------.
|
||||||
| Scanning a Yacc comment. The initial `/ *' is already eaten. |
|
| Scanning a Yacc comment. The initial '/ *' is already eaten. |
|
||||||
`---------------------------------------------------------------*/
|
`---------------------------------------------------------------*/
|
||||||
|
|
||||||
<SC_YACC_COMMENT>
|
<SC_YACC_COMMENT>
|
||||||
@@ -409,7 +409,7 @@ splice (\\[ \f\t\v]*\n)*
|
|||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------.
|
/*------------------------------------------------------------.
|
||||||
| Scanning a C comment. The initial `/ *' is already eaten. |
|
| Scanning a C comment. The initial '/ *' is already eaten. |
|
||||||
`------------------------------------------------------------*/
|
`------------------------------------------------------------*/
|
||||||
|
|
||||||
<SC_COMMENT>
|
<SC_COMMENT>
|
||||||
@@ -420,7 +420,7 @@ splice (\\[ \f\t\v]*\n)*
|
|||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------.
|
/*--------------------------------------------------------------.
|
||||||
| Scanning a line comment. The initial `//' is already eaten. |
|
| Scanning a line comment. The initial '//' is already eaten. |
|
||||||
`--------------------------------------------------------------*/
|
`--------------------------------------------------------------*/
|
||||||
|
|
||||||
<SC_LINE_COMMENT>
|
<SC_LINE_COMMENT>
|
||||||
@@ -648,8 +648,8 @@ splice (\\[ \f\t\v]*\n)*
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tokenize `<<%' correctly (as `<<' `%') rather than incorrrectly
|
/* Tokenize '<<%' correctly (as '<<' '%') rather than incorrrectly
|
||||||
(as `<' `<%'). */
|
(as '<' '<%'). */
|
||||||
"<"{splice}"<" STRING_GROW;
|
"<"{splice}"<" STRING_GROW;
|
||||||
|
|
||||||
<<EOF>> {
|
<<EOF>> {
|
||||||
@@ -840,7 +840,7 @@ convert_ucn_to_byte (char const *ucn)
|
|||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------.
|
/*----------------------------------------------------------------.
|
||||||
| Handle `#line INT "FILE"'. ARGS has already skipped `#line '. |
|
| Handle '#line INT "FILE"'. ARGS has already skipped '#line '. |
|
||||||
`----------------------------------------------------------------*/
|
`----------------------------------------------------------------*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -884,7 +884,7 @@ unexpected_end (boundary start, char const *msgid, char const *token_end)
|
|||||||
static void
|
static void
|
||||||
unexpected_eof (boundary start, char const *token_end)
|
unexpected_eof (boundary start, char const *token_end)
|
||||||
{
|
{
|
||||||
unexpected_end (start, N_("missing `%s' at end of file"), token_end);
|
unexpected_end (start, N_("missing '%s' at end of file"), token_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -895,7 +895,7 @@ unexpected_eof (boundary start, char const *token_end)
|
|||||||
static void
|
static void
|
||||||
unexpected_newline (boundary start, char const *token_end)
|
unexpected_newline (boundary start, char const *token_end)
|
||||||
{
|
{
|
||||||
unexpected_end (start, N_("missing `%s' at end of line"), token_end);
|
unexpected_end (start, N_("missing '%s' at end of line"), token_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -409,11 +409,11 @@ void
|
|||||||
symbol_make_alias (symbol *sym, symbol *str, location loc)
|
symbol_make_alias (symbol *sym, symbol *str, location loc)
|
||||||
{
|
{
|
||||||
if (str->alias)
|
if (str->alias)
|
||||||
warn_at (loc, _("symbol `%s' used more than once as a literal string"),
|
warn_at (loc, _("symbol '%s' used more than once as a literal string"),
|
||||||
str->tag);
|
str->tag);
|
||||||
else if (sym->alias)
|
else if (sym->alias)
|
||||||
warn_at (loc, _("symbol `%s' given more than one literal string"),
|
warn_at (loc, _("symbol '%s' given more than one literal string"),
|
||||||
sym->tag);
|
sym->tag);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
str->class = token_sym;
|
str->class = token_sym;
|
||||||
|
|||||||
@@ -1409,42 +1409,42 @@ string;"}
|
|||||||
]])
|
]])
|
||||||
|
|
||||||
AT_BISON_CHECK([[-o input.c input.y]], [0], [],
|
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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: 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: 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: warning: future versions of Bison will not add the ';'
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_MATCHES_CHECK([input.c], [[/\* TEST:N:2 \*/ \}$]], [[3]])
|
AT_MATCHES_CHECK([input.c], [[/\* TEST:N:2 \*/ \}$]], [[3]])
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ exp: { @$ = @1 ; };
|
|||||||
]])
|
]])
|
||||||
|
|
||||||
AT_BISON_CHECK([input.y], [1], [],
|
AT_BISON_CHECK([input.y], [1], [],
|
||||||
[[input.y:2.13-14: integer out of range: `$1'
|
[[input.y:2.13-14: integer out of range: '$1'
|
||||||
input.y:3.13-14: integer out of range: `@1'
|
input.y:3.13-14: integer out of range: '@1'
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
@@ -58,8 +58,8 @@ exp: foo { $$; } foo { $2; } foo
|
|||||||
]])
|
]])
|
||||||
|
|
||||||
AT_BISON_CHECK([input.y], [1], [],
|
AT_BISON_CHECK([input.y], [1], [],
|
||||||
[[input.y:5.12-13: $$ for the midrule at $2 of `exp' has no declared type
|
[[input.y:5.12-13: $$ for the midrule at $2 of 'exp' has no declared type
|
||||||
input.y:5.24-25: $2 of `exp' has no declared type
|
input.y:5.24-25: $2 of 'exp' has no declared type
|
||||||
input.y:5.6-32: warning: type clash on default action: <bar> != <>
|
input.y:5.6-32: warning: type clash on default action: <bar> != <>
|
||||||
input.y:6.6-8: warning: type clash on default action: <bar> != <>
|
input.y:6.6-8: warning: type clash on default action: <bar> != <>
|
||||||
input.y:7.5: warning: empty rule for typed nonterminal, and no action
|
input.y:7.5: warning: empty rule for typed nonterminal, and no action
|
||||||
@@ -669,9 +669,9 @@ AT_DATA_GRAMMAR([input.y],
|
|||||||
start: .GOOD GOOD
|
start: .GOOD GOOD
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([-o input.c input.y], [1], [],
|
AT_BISON_CHECK([-o input.c input.y], [1], [],
|
||||||
[[input.y:10.10: invalid character: `-'
|
[[input.y:10.10: invalid character: '-'
|
||||||
input.y:11.10-16: invalid identifier: `1NV4L1D'
|
input.y:11.10-16: invalid identifier: '1NV4L1D'
|
||||||
input.y:12.10: invalid character: `-'
|
input.y:12.10: invalid character: '-'
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
@@ -708,8 +708,8 @@ start: TOO_LARGE_DEC TOO_LARGE_HEX
|
|||||||
]])
|
]])
|
||||||
|
|
||||||
AT_BISON_CHECK([too-large.y], [1], [],
|
AT_BISON_CHECK([too-large.y], [1], [],
|
||||||
[[too-large.y:9.22-42: integer out of range: `999999999999999999999'
|
[[too-large.y:9.22-42: integer out of range: '999999999999999999999'
|
||||||
too-large.y:10.24-44: integer out of range: `0xFFFFFFFFFFFFFFFFFFF'
|
too-large.y:10.24-44: integer out of range: '0xFFFFFFFFFFFFFFFFFFF'
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
@@ -749,11 +749,11 @@ start: ;
|
|||||||
]])
|
]])
|
||||||
|
|
||||||
AT_BISON_CHECK([-o input.c input.y], 1, [],
|
AT_BISON_CHECK([-o input.c input.y], 1, [],
|
||||||
[[input.y:1.10-2.0: missing `"' at end of line
|
[[input.y:1.10-2.0: missing '"' at end of line
|
||||||
input.y:4.10-5.0: missing `'' at end of line
|
input.y:4.10-5.0: missing ''' at end of line
|
||||||
input.y:14.11-15.0: missing `'' at end of line
|
input.y:14.11-15.0: missing ''' at end of line
|
||||||
input.y:16.11-17.0: missing `"' at end of line
|
input.y:16.11-17.0: missing '"' at end of line
|
||||||
input.y:19.13-20.0: missing `}' at end of file
|
input.y:19.13-20.0: missing '}' at end of file
|
||||||
input.y:20.1: syntax error, unexpected end of file
|
input.y:20.1: syntax error, unexpected end of file
|
||||||
]])
|
]])
|
||||||
|
|
||||||
@@ -1200,9 +1200,9 @@ AT_CHECK([[perl -e "print 'start: \'';" >> empty.y || exit 77]])
|
|||||||
AT_BISON_CHECK([empty.y], [1], [],
|
AT_BISON_CHECK([empty.y], [1], [],
|
||||||
[[empty.y:2.8-9: warning: empty character literal
|
[[empty.y:2.8-9: warning: empty character literal
|
||||||
empty.y:3.8-4.0: warning: empty character literal
|
empty.y:3.8-4.0: warning: empty character literal
|
||||||
empty.y:3.8-4.0: missing `'' at end of line
|
empty.y:3.8-4.0: missing ''' at end of line
|
||||||
empty.y:4.8: warning: empty character literal
|
empty.y:4.8: warning: empty character literal
|
||||||
empty.y:4.8: missing `'' at end of file
|
empty.y:4.8: missing ''' at end of file
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_DATA([two.y],
|
AT_DATA([two.y],
|
||||||
@@ -1215,9 +1215,9 @@ AT_CHECK([[perl -e "print 'start: \'ab';" >> two.y || exit 77]])
|
|||||||
AT_BISON_CHECK([two.y], [1], [],
|
AT_BISON_CHECK([two.y], [1], [],
|
||||||
[[two.y:2.8-11: warning: extra characters in character literal
|
[[two.y:2.8-11: warning: extra characters in character literal
|
||||||
two.y:3.8-4.0: warning: extra characters in character literal
|
two.y:3.8-4.0: warning: extra characters in character literal
|
||||||
two.y:3.8-4.0: missing `'' at end of line
|
two.y:3.8-4.0: missing ''' at end of line
|
||||||
two.y:4.8-10: warning: extra characters in character literal
|
two.y:4.8-10: warning: extra characters in character literal
|
||||||
two.y:4.8-10: missing `'' at end of file
|
two.y:4.8-10: missing ''' at end of file
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_DATA([three.y],
|
AT_DATA([three.y],
|
||||||
@@ -1230,9 +1230,9 @@ AT_CHECK([[perl -e "print 'start: \'abc';" >> three.y || exit 77]])
|
|||||||
AT_BISON_CHECK([three.y], [1], [],
|
AT_BISON_CHECK([three.y], [1], [],
|
||||||
[[three.y:2.8-12: warning: extra characters in character literal
|
[[three.y:2.8-12: warning: extra characters in character literal
|
||||||
three.y:3.8-4.0: warning: extra characters in character literal
|
three.y:3.8-4.0: warning: extra characters in character literal
|
||||||
three.y:3.8-4.0: missing `'' at end of line
|
three.y:3.8-4.0: missing ''' at end of line
|
||||||
three.y:4.8-11: warning: extra characters in character literal
|
three.y:4.8-11: warning: extra characters in character literal
|
||||||
three.y:4.8-11: missing `'' at end of file
|
three.y:4.8-11: missing ''' at end of file
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
@@ -1274,7 +1274,7 @@ input.y:3.27-36: invalid number after \-escape: Uffffffff
|
|||||||
input.y:3.26-37: warning: empty character literal
|
input.y:3.26-37: warning: empty character literal
|
||||||
input.y:3.40-49: invalid number after \-escape: U00000000
|
input.y:3.40-49: invalid number after \-escape: U00000000
|
||||||
input.y:3.39-50: warning: empty character literal
|
input.y:3.39-50: warning: empty character literal
|
||||||
input.y:4.9-10: invalid character after \-escape: ` '
|
input.y:4.9-10: invalid character after \-escape: ' '
|
||||||
input.y:4.8-11: warning: empty character literal
|
input.y:4.8-11: warning: empty character literal
|
||||||
input.y:4.14-15: invalid character after \-escape: A
|
input.y:4.14-15: invalid character after \-escape: A
|
||||||
input.y:4.13-16: warning: empty character literal
|
input.y:4.13-16: warning: empty character literal
|
||||||
|
|||||||
@@ -255,16 +255,16 @@ exp:
|
|||||||
]])
|
]])
|
||||||
|
|
||||||
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
||||||
[[test.y:50.51-60: invalid reference: `$<ival>lo9'
|
[[test.y:50.51-60: invalid reference: '$<ival>lo9'
|
||||||
test.y:50.3-68: symbol not found in production: lo9
|
test.y:50.3-68: symbol not found in production: lo9
|
||||||
test.y:51.51-60: warning: misleading reference: `$<ival>exp'
|
test.y:51.51-60: warning: misleading reference: '$<ival>exp'
|
||||||
test.y:42.1-3: warning: refers to: $exp at $$
|
test.y:42.1-3: warning: refers to: $exp at $$
|
||||||
test.y:51.7: warning: possibly meant: $x, hiding $exp at $1
|
test.y:51.7: warning: possibly meant: $x, hiding $exp at $1
|
||||||
test.y:51.41: warning: possibly meant: $r, hiding $exp at $4
|
test.y:51.41: warning: possibly meant: $r, hiding $exp at $4
|
||||||
test.y:52.51-52: $l of `exp' has no declared type
|
test.y:52.51-52: $l of 'exp' has no declared type
|
||||||
test.y:55.46-49: invalid reference: `$r12'
|
test.y:55.46-49: invalid reference: '$r12'
|
||||||
test.y:55.3-53: symbol not found in production: r12
|
test.y:55.3-53: symbol not found in production: r12
|
||||||
test.y:56.29-33: invalid reference: `$expo'
|
test.y:56.29-33: invalid reference: '$expo'
|
||||||
test.y:56.3-46: symbol not found in production: expo
|
test.y:56.3-46: symbol not found in production: expo
|
||||||
]])
|
]])
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
@@ -280,7 +280,7 @@ foo: '1'
|
|||||||
foo.bar: '2'
|
foo.bar: '2'
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([-o test.c test.y], 0, [],
|
AT_BISON_CHECK([-o test.c test.y], 0, [],
|
||||||
[[test.y:11.22-29: warning: misleading reference: `$foo.bar'
|
[[test.y:11.22-29: warning: misleading reference: '$foo.bar'
|
||||||
test.y:11.8-10: warning: refers to: $foo at $1
|
test.y:11.8-10: warning: refers to: $foo at $1
|
||||||
test.y:11.12-18: warning: possibly meant: $[foo.bar] at $2
|
test.y:11.12-18: warning: possibly meant: $[foo.bar] at $2
|
||||||
]])
|
]])
|
||||||
@@ -356,43 +356,43 @@ factor: '(' expr ')' { $$ = $2; }
|
|||||||
;
|
;
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
||||||
[[test.y:24.36-41: invalid reference: `$cond1'
|
[[test.y:24.36-41: invalid reference: '$cond1'
|
||||||
test.y:23.11-24.62: symbol not found in production: cond1
|
test.y:23.11-24.62: symbol not found in production: cond1
|
||||||
test.y:26.43-53: invalid reference: `$stmt.field'
|
test.y:26.43-53: invalid reference: '$stmt.field'
|
||||||
test.y:25.11-26.60: symbol not found in production: stmt
|
test.y:25.11-26.60: symbol not found in production: stmt
|
||||||
test.y:25.35-38: possibly meant: $then.field, hiding $stmt.field at $4
|
test.y:25.35-38: possibly meant: $then.field, hiding $stmt.field at $4
|
||||||
test.y:28.43-52: invalid reference: `$stmt.list'
|
test.y:28.43-52: invalid reference: '$stmt.list'
|
||||||
test.y:27.11-28.59: symbol not found in production: stmt
|
test.y:27.11-28.59: symbol not found in production: stmt
|
||||||
test.y:27.30-38: possibly meant: $[stmt.list] at $4
|
test.y:27.30-38: possibly meant: $[stmt.list] at $4
|
||||||
test.y:30.43-46: ambiguous reference: `$xyz'
|
test.y:30.43-46: ambiguous reference: '$xyz'
|
||||||
test.y:29.35-37: refers to: $xyz at $4
|
test.y:29.35-37: refers to: $xyz at $4
|
||||||
test.y:29.50-52: refers to: $xyz at $6
|
test.y:29.50-52: refers to: $xyz at $6
|
||||||
test.y:32.43-52: invalid reference: `$stmt.list'
|
test.y:32.43-52: invalid reference: '$stmt.list'
|
||||||
test.y:31.11-32.63: symbol not found in production: stmt
|
test.y:31.11-32.63: symbol not found in production: stmt
|
||||||
test.y:31.40-43: possibly meant: $then, hiding $[stmt.list] at $4
|
test.y:31.40-43: possibly meant: $then, hiding $[stmt.list] at $4
|
||||||
test.y:31.61-64: possibly meant: $else, hiding $[stmt.list] at $6
|
test.y:31.61-64: possibly meant: $else, hiding $[stmt.list] at $6
|
||||||
test.y:34.43-58: invalid reference: `$stmt.list.field'
|
test.y:34.43-58: invalid reference: '$stmt.list.field'
|
||||||
test.y:33.11-34.69: symbol not found in production: stmt
|
test.y:33.11-34.69: symbol not found in production: stmt
|
||||||
test.y:33.40-43: possibly meant: $then.field, hiding $[stmt.list].field at $4
|
test.y:33.40-43: possibly meant: $then.field, hiding $[stmt.list].field at $4
|
||||||
test.y:33.61-64: possibly meant: $else.field, hiding $[stmt.list].field at $6
|
test.y:33.61-64: possibly meant: $else.field, hiding $[stmt.list].field at $6
|
||||||
test.y:36.43-54: invalid reference: `$[stmt.list]'
|
test.y:36.43-54: invalid reference: '$[stmt.list]'
|
||||||
test.y:35.11-36.71: symbol not found in production: stmt.list
|
test.y:35.11-36.71: symbol not found in production: stmt.list
|
||||||
test.y:35.40-43: possibly meant: $then, hiding $[stmt.list] at $4
|
test.y:35.40-43: possibly meant: $then, hiding $[stmt.list] at $4
|
||||||
test.y:35.61-64: possibly meant: $else, hiding $[stmt.list] at $6
|
test.y:35.61-64: possibly meant: $else, hiding $[stmt.list] at $6
|
||||||
test.y:38.43-49: invalid reference: `$then.1'
|
test.y:38.43-49: invalid reference: '$then.1'
|
||||||
test.y:37.11-38.60: symbol not found in production: then
|
test.y:37.11-38.60: symbol not found in production: then
|
||||||
test.y:37.40-45: possibly meant: $[then.1] at $4
|
test.y:37.40-45: possibly meant: $[then.1] at $4
|
||||||
test.y:40.43-55: invalid reference: `$then.1.field'
|
test.y:40.43-55: invalid reference: '$then.1.field'
|
||||||
test.y:39.11-40.66: symbol not found in production: then
|
test.y:39.11-40.66: symbol not found in production: then
|
||||||
test.y:39.40-45: possibly meant: $[then.1].field at $4
|
test.y:39.40-45: possibly meant: $[then.1].field at $4
|
||||||
test.y:42.44-50: invalid reference: `$stmt.x'
|
test.y:42.44-50: invalid reference: '$stmt.x'
|
||||||
test.y:41.12-42.57: symbol not found in production: stmt
|
test.y:41.12-42.57: symbol not found in production: stmt
|
||||||
test.y:41.36-41: possibly meant: $[stmt.x].x, hiding $stmt.x at $4
|
test.y:41.36-41: possibly meant: $[stmt.x].x, hiding $stmt.x at $4
|
||||||
test.y:41.36-41: possibly meant: $[stmt.x] at $4
|
test.y:41.36-41: possibly meant: $[stmt.x] at $4
|
||||||
test.y:44.13-22: invalid reference: `$if-stmt-a'
|
test.y:44.13-22: invalid reference: '$if-stmt-a'
|
||||||
test.y:43.12-44.59: symbol not found in production: if
|
test.y:43.12-44.59: symbol not found in production: if
|
||||||
test.y:43.1-9: possibly meant: $[if-stmt-a] at $$
|
test.y:43.1-9: possibly meant: $[if-stmt-a] at $$
|
||||||
test.y:46.46-54: invalid reference: `$then-a.f'
|
test.y:46.46-54: invalid reference: '$then-a.f'
|
||||||
test.y:45.12-46.65: symbol not found in production: then
|
test.y:45.12-46.65: symbol not found in production: then
|
||||||
test.y:45.41-46: possibly meant: $[then-a].f at $4
|
test.y:45.41-46: possibly meant: $[then-a].f at $4
|
||||||
]])
|
]])
|
||||||
@@ -422,7 +422,7 @@ start: foo[ a d ] bar
|
|||||||
{ s = $foo; }
|
{ s = $foo; }
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
||||||
[[test.y:11.15: unexpected identifier in bracketed name: `d'
|
[[test.y:11.15: unexpected identifier in bracketed name: 'd'
|
||||||
]])
|
]])
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|
||||||
@@ -450,10 +450,10 @@ start: foo[ /* aaa */ *&-.+ ] bar
|
|||||||
{ s = $foo; }
|
{ s = $foo; }
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
||||||
[[test.y:11.23: invalid character in bracketed name: `*'
|
[[test.y:11.23: invalid character in bracketed name: '*'
|
||||||
test.y:11.24: invalid character in bracketed name: `&'
|
test.y:11.24: invalid character in bracketed name: '&'
|
||||||
test.y:11.25: invalid character in bracketed name: `-'
|
test.y:11.25: invalid character in bracketed name: '-'
|
||||||
test.y:11.27: invalid character in bracketed name: `+'
|
test.y:11.27: invalid character in bracketed name: '+'
|
||||||
]])
|
]])
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|
||||||
@@ -466,7 +466,7 @@ AT_DATA_GRAMMAR([test.y],
|
|||||||
start[a s]: foo;
|
start[a s]: foo;
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
||||||
[[test.y:11.9: unexpected identifier in bracketed name: `s'
|
[[test.y:11.9: unexpected identifier in bracketed name: 's'
|
||||||
]])
|
]])
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|
||||||
@@ -513,37 +513,37 @@ sym_a: 'a';
|
|||||||
sym_b: 'b';
|
sym_b: 'b';
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
||||||
[[test.y:12.22-31: invalid reference: `$sym.field'
|
[[test.y:12.22-31: invalid reference: '$sym.field'
|
||||||
test.y:12.3-35: symbol not found in production: sym
|
test.y:12.3-35: symbol not found in production: sym
|
||||||
test.y:13.22-35: invalid reference: `$<aa>sym.field'
|
test.y:13.22-35: invalid reference: '$<aa>sym.field'
|
||||||
test.y:13.3-39: symbol not found in production: sym
|
test.y:13.3-39: symbol not found in production: sym
|
||||||
test.y:14.22-33: invalid reference: `$[sym.field]'
|
test.y:14.22-33: invalid reference: '$[sym.field]'
|
||||||
test.y:14.3-37: symbol not found in production: sym.field
|
test.y:14.3-37: symbol not found in production: sym.field
|
||||||
test.y:15.22-37: invalid reference: `$<aa>[sym.field]'
|
test.y:15.22-37: invalid reference: '$<aa>[sym.field]'
|
||||||
test.y:15.3-41: symbol not found in production: sym.field
|
test.y:15.3-41: symbol not found in production: sym.field
|
||||||
test.y:16.22-25: invalid reference: `$sym'
|
test.y:16.22-25: invalid reference: '$sym'
|
||||||
test.y:16.3-29: symbol not found in production: sym
|
test.y:16.3-29: symbol not found in production: sym
|
||||||
test.y:17.22-29: invalid reference: `$<aa>sym'
|
test.y:17.22-29: invalid reference: '$<aa>sym'
|
||||||
test.y:17.3-33: symbol not found in production: sym
|
test.y:17.3-33: symbol not found in production: sym
|
||||||
test.y:18.22-27: invalid reference: `$[sym]'
|
test.y:18.22-27: invalid reference: '$[sym]'
|
||||||
test.y:18.3-65: symbol not found in production before $3: sym
|
test.y:18.3-65: symbol not found in production before $3: sym
|
||||||
test.y:18.52-61: invalid reference: `$<aa>[sym]'
|
test.y:18.52-61: invalid reference: '$<aa>[sym]'
|
||||||
test.y:18.3-65: symbol not found in production: sym
|
test.y:18.3-65: symbol not found in production: sym
|
||||||
test.y:22.22-31: invalid reference: `$sym-field'
|
test.y:22.22-31: invalid reference: '$sym-field'
|
||||||
test.y:22.3-35: symbol not found in production: sym
|
test.y:22.3-35: symbol not found in production: sym
|
||||||
test.y:23.22-35: invalid reference: `$<aa>sym-field'
|
test.y:23.22-35: invalid reference: '$<aa>sym-field'
|
||||||
test.y:23.3-39: symbol not found in production: sym
|
test.y:23.3-39: symbol not found in production: sym
|
||||||
test.y:24.22-33: invalid reference: `$[sym-field]'
|
test.y:24.22-33: invalid reference: '$[sym-field]'
|
||||||
test.y:24.3-37: symbol not found in production: sym-field
|
test.y:24.3-37: symbol not found in production: sym-field
|
||||||
test.y:25.22-37: invalid reference: `$<aa>[sym-field]'
|
test.y:25.22-37: invalid reference: '$<aa>[sym-field]'
|
||||||
test.y:25.3-41: symbol not found in production: sym-field
|
test.y:25.3-41: symbol not found in production: sym-field
|
||||||
test.y:26.22-25: invalid reference: `$sym'
|
test.y:26.22-25: invalid reference: '$sym'
|
||||||
test.y:26.3-29: symbol not found in production: sym
|
test.y:26.3-29: symbol not found in production: sym
|
||||||
test.y:27.22-29: invalid reference: `$<aa>sym'
|
test.y:27.22-29: invalid reference: '$<aa>sym'
|
||||||
test.y:27.3-33: symbol not found in production: sym
|
test.y:27.3-33: symbol not found in production: sym
|
||||||
test.y:28.22-27: invalid reference: `$[sym]'
|
test.y:28.22-27: invalid reference: '$[sym]'
|
||||||
test.y:28.3-65: symbol not found in production before $3: sym
|
test.y:28.3-65: symbol not found in production before $3: sym
|
||||||
test.y:28.52-61: invalid reference: `$<aa>[sym]'
|
test.y:28.52-61: invalid reference: '$<aa>[sym]'
|
||||||
test.y:28.3-65: symbol not found in production: sym
|
test.y:28.3-65: symbol not found in production: sym
|
||||||
]])
|
]])
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
@@ -561,11 +561,11 @@ start:
|
|||||||
.field: ;
|
.field: ;
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([[test.y]], [[1]], [],
|
AT_BISON_CHECK([[test.y]], [[1]], [],
|
||||||
[[test.y:4.12-18: invalid reference: `$.field'
|
[[test.y:4.12-18: invalid reference: '$.field'
|
||||||
test.y:4.13: syntax error after `$', expecting integer, letter, `_', `@<:@', or `$'
|
test.y:4.13: syntax error after '$', expecting integer, letter, '_', '@<:@', or '$'
|
||||||
test.y:4.3-8: possibly meant: $[.field] at $1
|
test.y:4.3-8: possibly meant: $[.field] at $1
|
||||||
test.y:5.12-18: invalid reference: `@.field'
|
test.y:5.12-18: invalid reference: '@.field'
|
||||||
test.y:5.13: syntax error after `@', expecting integer, letter, `_', `@<:@', or `$'
|
test.y:5.13: syntax error after '@', expecting integer, letter, '_', '@<:@', or '$'
|
||||||
]])
|
]])
|
||||||
AT_DATA([[test.y]],
|
AT_DATA([[test.y]],
|
||||||
[[
|
[[
|
||||||
@@ -576,7 +576,7 @@ start:
|
|||||||
;
|
;
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([[test.y]], [[0]], [],
|
AT_BISON_CHECK([[test.y]], [[0]], [],
|
||||||
[[test.y:4.9: warning: stray `$'
|
[[test.y:4.9: warning: stray '$'
|
||||||
test.y:5.9: warning: stray `@'
|
test.y:5.9: warning: stray '@'
|
||||||
]])
|
]])
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ AT_CHECK_OUTPUT([foo.y], [%defines %verbose %yacc],[],
|
|||||||
AT_CHECK_OUTPUT([foo.yy], [%defines %verbose %yacc],[],
|
AT_CHECK_OUTPUT([foo.yy], [%defines %verbose %yacc],[],
|
||||||
[y.output y.tab.c y.tab.h])
|
[y.output y.tab.c y.tab.h])
|
||||||
|
|
||||||
# Exercise %output and %file-prefix including deprecated `='
|
# Exercise %output and %file-prefix including deprecated '='
|
||||||
AT_CHECK_OUTPUT([foo.y], [%file-prefix "bar" %defines %verbose], [],
|
AT_CHECK_OUTPUT([foo.y], [%file-prefix "bar" %defines %verbose], [],
|
||||||
[bar.output bar.tab.c bar.tab.h])
|
[bar.output bar.tab.c bar.tab.h])
|
||||||
AT_CHECK_OUTPUT([foo.y], [%output="bar.c" %defines %verbose %yacc],[],
|
AT_CHECK_OUTPUT([foo.y], [%output="bar.c" %defines %verbose %yacc],[],
|
||||||
@@ -157,21 +157,21 @@ AT_CLEANUP
|
|||||||
|
|
||||||
AT_CHECK_CONFLICTING_OUTPUT([foo.y],
|
AT_CHECK_CONFLICTING_OUTPUT([foo.y],
|
||||||
[], [--graph="foo.tab.c"],
|
[], [--graph="foo.tab.c"],
|
||||||
[foo.y: warning: conflicting outputs to file `foo.tab.c'
|
[foo.y: warning: conflicting outputs to file 'foo.tab.c'
|
||||||
])
|
])
|
||||||
|
|
||||||
AT_CHECK_CONFLICTING_OUTPUT([foo.y],
|
AT_CHECK_CONFLICTING_OUTPUT([foo.y],
|
||||||
[%defines "foo.output"], [-v],
|
[%defines "foo.output"], [-v],
|
||||||
[foo.y: warning: conflicting outputs to file `foo.output'
|
[foo.y: warning: conflicting outputs to file 'foo.output'
|
||||||
])
|
])
|
||||||
|
|
||||||
AT_CHECK_CONFLICTING_OUTPUT([foo.y],
|
AT_CHECK_CONFLICTING_OUTPUT([foo.y],
|
||||||
[%skeleton "lalr1.cc" %defines], [--graph="location.hh"],
|
[%skeleton "lalr1.cc" %defines], [--graph="location.hh"],
|
||||||
[foo.y: warning: conflicting outputs to file `location.hh'
|
[foo.y: warning: conflicting outputs to file 'location.hh'
|
||||||
])
|
])
|
||||||
|
|
||||||
AT_CHECK_CONFLICTING_OUTPUT([foo.y], [], [-o foo.y],
|
AT_CHECK_CONFLICTING_OUTPUT([foo.y], [], [-o foo.y],
|
||||||
[foo.y: refusing to overwrite the input file `foo.y'
|
[foo.y: refusing to overwrite the input file 'foo.y'
|
||||||
], 1)
|
], 1)
|
||||||
|
|
||||||
|
|
||||||
@@ -213,7 +213,7 @@ AT_CLEANUP
|
|||||||
])
|
])
|
||||||
|
|
||||||
# Notice that the header file name here cannot contain
|
# Notice that the header file name here cannot contain
|
||||||
# `"' since FILENAME in `#include "FILENAME"' cannot.
|
# '"' since FILENAME in '#include "FILENAME"' cannot.
|
||||||
AT_CHECK_OUTPUT_FILE_NAME([[`~!@#$%^&*()-=_+{}[]|\:;<>, .']])
|
AT_CHECK_OUTPUT_FILE_NAME([[`~!@#$%^&*()-=_+{}[]|\:;<>, .']])
|
||||||
dnl Work around a bug in m4_expand that broke AT_SETUP in autoconf 2.62,
|
dnl Work around a bug in m4_expand that broke AT_SETUP in autoconf 2.62,
|
||||||
dnl by using the definition from 2.63.
|
dnl by using the definition from 2.63.
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ AT_CLEANUP
|
|||||||
AT_SETUP([Braces parsing])
|
AT_SETUP([Braces parsing])
|
||||||
|
|
||||||
AT_DATA([input.y],
|
AT_DATA([input.y],
|
||||||
[[/* Bison used to swallow the character after `}'. */
|
[[/* Bison used to swallow the character after '}'. */
|
||||||
|
|
||||||
%%
|
%%
|
||||||
exp: { tests = {{{{{{{{{{}}}}}}}}}}; };
|
exp: { tests = {{{{{{{{{{}}}}}}}}}}; };
|
||||||
@@ -184,7 +184,7 @@ AT_CLEANUP
|
|||||||
AT_SETUP([Duplicate string])
|
AT_SETUP([Duplicate string])
|
||||||
|
|
||||||
AT_DATA([input.y],
|
AT_DATA([input.y],
|
||||||
[[/* `Bison -v' used to dump core when two tokens are defined with the same
|
[[/* 'Bison -v' used to dump core when two tokens are defined with the same
|
||||||
string, as LE and GE below. */
|
string, as LE and GE below. */
|
||||||
|
|
||||||
%token NUM
|
%token NUM
|
||||||
@@ -197,7 +197,7 @@ exp: '(' exp ')' | NUM ;
|
|||||||
]])
|
]])
|
||||||
|
|
||||||
AT_BISON_CHECK([-v -o input.c input.y], 0, [],
|
AT_BISON_CHECK([-v -o input.c input.y], 0, [],
|
||||||
[[input.y:6.8-14: warning: symbol `"<="' used more than once as a literal string
|
[[input.y:6.8-14: warning: symbol '"<="' used more than once as a literal string
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
@@ -387,14 +387,14 @@ default: 'a' }
|
|||||||
]])
|
]])
|
||||||
|
|
||||||
AT_BISON_CHECK([input.y], [1], [],
|
AT_BISON_CHECK([input.y], [1], [],
|
||||||
[[input.y:2.1: invalid character: `?'
|
[[input.y:2.1: invalid character: '?'
|
||||||
input.y:3.14: invalid character: `}'
|
input.y:3.14: invalid character: '}'
|
||||||
input.y:4.1: invalid character: `%'
|
input.y:4.1: invalid character: '%'
|
||||||
input.y:4.2: invalid character: `&'
|
input.y:4.2: invalid character: '&'
|
||||||
input.y:5.1-17: invalid directive: `%a-does-not-exist'
|
input.y:5.1-17: invalid directive: '%a-does-not-exist'
|
||||||
input.y:6.1: invalid character: `%'
|
input.y:6.1: invalid character: '%'
|
||||||
input.y:6.2: invalid character: `-'
|
input.y:6.2: invalid character: '-'
|
||||||
input.y:7.1-8.0: missing `%}' at end of file
|
input.y:7.1-8.0: missing '%}' at end of file
|
||||||
input.y:7.1-8.0: syntax error, unexpected %{...%}
|
input.y:7.1-8.0: syntax error, unexpected %{...%}
|
||||||
]])
|
]])
|
||||||
|
|
||||||
@@ -428,7 +428,7 @@ AT_CLEANUP
|
|||||||
|
|
||||||
AT_SETUP([Token definitions])
|
AT_SETUP([Token definitions])
|
||||||
|
|
||||||
# Bison managed, when fed with `%token 'f' "f"' to #define 'f'!
|
# Bison managed, when fed with '%token 'f' "f"' to #define 'f'!
|
||||||
AT_DATA_GRAMMAR([input.y],
|
AT_DATA_GRAMMAR([input.y],
|
||||||
[%{
|
[%{
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -475,7 +475,7 @@ main (void)
|
|||||||
# the user specification is eliminated.
|
# the user specification is eliminated.
|
||||||
AT_BISON_CHECK([-o input.c input.y], [[0]], [[]],
|
AT_BISON_CHECK([-o input.c input.y], [[0]], [[]],
|
||||||
[[input.y:22.8-14: warning: symbol SPECIAL redeclared
|
[[input.y:22.8-14: warning: symbol SPECIAL redeclared
|
||||||
input.y:22.8-63: warning: symbol `"\\'?\"\a\b\f\n\r\t\v\001\201\001\201??!"' used more than once as a literal string
|
input.y:22.8-63: warning: symbol '"\\'?\"\a\b\f\n\r\t\v\001\201\001\201??!"' used more than once as a literal string
|
||||||
]])
|
]])
|
||||||
AT_COMPILE([input])
|
AT_COMPILE([input])
|
||||||
|
|
||||||
@@ -524,7 +524,7 @@ AT_CLEANUP
|
|||||||
|
|
||||||
# The generation of the reduction was once wrong in Bison, and made it
|
# The generation of the reduction was once wrong in Bison, and made it
|
||||||
# miss some reductions. In the following test case, the reduction on
|
# miss some reductions. In the following test case, the reduction on
|
||||||
# `undef_id_tok' in state 1 was missing. This is stripped down from
|
# 'undef_id_tok' in state 1 was missing. This is stripped down from
|
||||||
# the actual web2c.y.
|
# the actual web2c.y.
|
||||||
|
|
||||||
AT_SETUP([Web2c Report])
|
AT_SETUP([Web2c Report])
|
||||||
@@ -686,7 +686,7 @@ AT_CLEANUP
|
|||||||
## Web2c Actions. ##
|
## Web2c Actions. ##
|
||||||
## --------------- ##
|
## --------------- ##
|
||||||
|
|
||||||
# The generation of the mapping `state -> action' was once wrong in
|
# The generation of the mapping 'state -> action' was once wrong in
|
||||||
# extremely specific situations. web2c.y exhibits this situation.
|
# extremely specific situations. web2c.y exhibits this situation.
|
||||||
# Below is a stripped version of the grammar. It looks like one can
|
# Below is a stripped version of the grammar. It looks like one can
|
||||||
# simplify it further, but just don't: it is tuned to exhibit a bug,
|
# simplify it further, but just don't: it is tuned to exhibit a bug,
|
||||||
@@ -1157,7 +1157,7 @@ AT_SETUP([[Extra lookahead sets in report]])
|
|||||||
# state's one item that (1) is associated with the same rule as the reduction
|
# state's one item that (1) is associated with the same rule as the reduction
|
||||||
# and (2) has its dot at the end of its RHS. Previously, Bison also
|
# and (2) has its dot at the end of its RHS. Previously, Bison also
|
||||||
# erroneously printed the lookahead set next to all of the state's other items
|
# erroneously printed the lookahead set next to all of the state's other items
|
||||||
# associated with the same rule. This bug affected only the `.output' file and
|
# associated with the same rule. This bug affected only the '.output' file and
|
||||||
# not the generated parser source code.
|
# not the generated parser source code.
|
||||||
|
|
||||||
AT_DATA([[input.y]],
|
AT_DATA([[input.y]],
|
||||||
|
|||||||
Reference in New Issue
Block a user