mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
use a more consistent quoting style.
See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
Use quotearg as often as possible instead of leaving the choice of
the quotes to the translators. Use shorter messages. Factor similar
messages to a single format, to make localization easier.
* src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
* src/scan-code.l, src/scan-gram.l, src/symtab.c:
Use quote() or quotearg_colon() on printf arguments instead of
quotes in the format string.
* data/bison.m4: Keep sync with the changes in muscle-tab.c.
* tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
expected messages.
(cherry picked from commit 4a9cd8f24a)
Conflicts:
src/muscle-tab.c
This commit is contained in:
@@ -412,7 +412,7 @@ m4_define([b4_percent_define_get_loc],
|
|||||||
[m4_pushdef([b4_loc], m4_indir([b4_percent_define_loc(]$1[)]))dnl
|
[m4_pushdef([b4_loc], m4_indir([b4_percent_define_loc(]$1[)]))dnl
|
||||||
b4_loc[]dnl
|
b4_loc[]dnl
|
||||||
m4_popdef([b4_loc])],
|
m4_popdef([b4_loc])],
|
||||||
[b4_fatal([[undefined %%define variable '%s' passed to b4_percent_define_get_loc]], [$1])])])
|
[b4_fatal([[b4_percent_define_get_loc: undefined %%define variable '%s']], [$1])])])
|
||||||
|
|
||||||
# b4_percent_define_get_syncline(VARIABLE)
|
# b4_percent_define_get_syncline(VARIABLE)
|
||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
@@ -429,7 +429,7 @@ m4_popdef([b4_loc])],
|
|||||||
m4_define([b4_percent_define_get_syncline],
|
m4_define([b4_percent_define_get_syncline],
|
||||||
[m4_ifdef([b4_percent_define_syncline(]$1[)],
|
[m4_ifdef([b4_percent_define_syncline(]$1[)],
|
||||||
[m4_indir([b4_percent_define_syncline(]$1[)])],
|
[m4_indir([b4_percent_define_syncline(]$1[)])],
|
||||||
[b4_fatal([[undefined %%define variable '%s' passed to b4_percent_define_get_syncline]], [$1])])])
|
[b4_fatal([[b4_percent_define_get_syncline: undefined %%define variable '%s']], [$1])])])
|
||||||
|
|
||||||
# b4_percent_define_ifdef(VARIABLE, IF-TRUE, [IF-FALSE])
|
# b4_percent_define_ifdef(VARIABLE, IF-TRUE, [IF-FALSE])
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
@@ -467,7 +467,7 @@ m4_define([b4_percent_define_flag_if],
|
|||||||
[[invalid value for %%define Boolean variable '%s']],
|
[[invalid value for %%define Boolean variable '%s']],
|
||||||
[$1])],
|
[$1])],
|
||||||
[[b4_percent_define_flag_if($1)]])])],
|
[[b4_percent_define_flag_if($1)]])])],
|
||||||
[b4_fatal([[undefined %%define variable '%s' passed to b4_percent_define_flag_if]], [$1])])])
|
[b4_fatal([[b4_percent_define_flag_if: undefined %%define variable '%s']], [$1])])])
|
||||||
|
|
||||||
# b4_percent_define_default(VARIABLE, DEFAULT)
|
# b4_percent_define_default(VARIABLE, DEFAULT)
|
||||||
# --------------------------------------------
|
# --------------------------------------------
|
||||||
@@ -524,7 +524,7 @@ m4_define([_b4_percent_define_check_values],
|
|||||||
[[accepted value: '%s']],
|
[[accepted value: '%s']],
|
||||||
m4_dquote(b4_value))])])dnl
|
m4_dquote(b4_value))])])dnl
|
||||||
m4_popdef([b4_good_value])],
|
m4_popdef([b4_good_value])],
|
||||||
[b4_fatal([[undefined %%define variable '%s' passed to b4_percent_define_check_values]], [$1])])])
|
[b4_fatal([[b4_percent_define_check_values: undefined %%define variable '%s']], [$1])])])
|
||||||
|
|
||||||
# b4_percent_code_get([QUALIFIER])
|
# b4_percent_code_get([QUALIFIER])
|
||||||
# --------------------------------
|
# --------------------------------
|
||||||
|
|||||||
2
lib/.gitignore
vendored
2
lib/.gitignore
vendored
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
/*.a
|
/*.a
|
||||||
/*.bak
|
/*.bak
|
||||||
/*.o
|
/*.o
|
||||||
@@ -242,7 +241,6 @@
|
|||||||
/xsize.h
|
/xsize.h
|
||||||
/xstrndup.c
|
/xstrndup.c
|
||||||
/xstrndup.h
|
/xstrndup.h
|
||||||
|
|
||||||
/c-strcaseeq.h
|
/c-strcaseeq.h
|
||||||
/fd-hook.c
|
/fd-hook.c
|
||||||
/fd-hook.h
|
/fd-hook.h
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
#include <dirname.h>
|
#include <dirname.h>
|
||||||
#include <get-errno.h>
|
#include <get-errno.h>
|
||||||
#include <quote.h>
|
#include <quote.h>
|
||||||
|
#include <quotearg.h>
|
||||||
#include <stdio-safer.h>
|
#include <stdio-safer.h>
|
||||||
#include <xstrndup.h>
|
#include <xstrndup.h>
|
||||||
|
|
||||||
@@ -109,7 +110,8 @@ xfopen (const char *name, const char *mode)
|
|||||||
|
|
||||||
ptr = fopen_safer (name, mode);
|
ptr = fopen_safer (name, mode);
|
||||||
if (!ptr)
|
if (!ptr)
|
||||||
error (EXIT_FAILURE, get_errno (), _("cannot open file '%s'"), name);
|
error (EXIT_FAILURE, get_errno (),
|
||||||
|
_("%s: cannot open"), quotearg_colon (name));
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,6 @@
|
|||||||
#include <c-strcase.h>
|
#include <c-strcase.h>
|
||||||
#include <configmake.h>
|
#include <configmake.h>
|
||||||
#include <error.h>
|
#include <error.h>
|
||||||
#include <quotearg.h>
|
|
||||||
|
|
||||||
/* Hack to get <getopt.h> to declare getopt with a prototype. */
|
/* Hack to get <getopt.h> to declare getopt with a prototype. */
|
||||||
#if lint && ! defined __GNU_LIBRARY__
|
#if lint && ! defined __GNU_LIBRARY__
|
||||||
@@ -45,6 +44,7 @@
|
|||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "getargs.h"
|
#include "getargs.h"
|
||||||
#include "muscle-tab.h"
|
#include "muscle-tab.h"
|
||||||
|
#include "quote.h"
|
||||||
#include "uniqstr.h"
|
#include "uniqstr.h"
|
||||||
|
|
||||||
bool debug_flag;
|
bool debug_flag;
|
||||||
@@ -424,14 +424,14 @@ language_argmatch (char const *arg, int prio, location loc)
|
|||||||
language = &valid_languages[i];
|
language = &valid_languages[i];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
msg = _("invalid language '%s'");
|
msg = _("%s: invalid language");
|
||||||
}
|
}
|
||||||
else if (language_prio == prio)
|
else if (language_prio == prio)
|
||||||
msg = _("multiple language declarations are invalid");
|
msg = _("multiple language declarations are invalid");
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
|
|
||||||
complain_at (loc, msg, arg);
|
complain_at (loc, msg, quotearg_colon (arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------.
|
/*----------------------.
|
||||||
@@ -679,9 +679,9 @@ getargs (int argc, char *argv[])
|
|||||||
if (argc - optind != 1)
|
if (argc - optind != 1)
|
||||||
{
|
{
|
||||||
if (argc - optind < 1)
|
if (argc - optind < 1)
|
||||||
error (0, 0, _("missing operand after '%s'"), argv[argc - 1]);
|
error (0, 0, _("%s: missing operand"), quotearg_colon (argv[argc - 1]));
|
||||||
else
|
else
|
||||||
error (0, 0, _("extra operand '%s'"), argv[optind + 1]);
|
error (0, 0, _("extra operand %s"), quote (argv[optind + 1]));
|
||||||
usage (EXIT_FAILURE);
|
usage (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,12 +21,12 @@
|
|||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
|
||||||
#include <hash.h>
|
#include <hash.h>
|
||||||
#include <quotearg.h>
|
|
||||||
|
|
||||||
#include "complain.h"
|
#include "complain.h"
|
||||||
#include "files.h"
|
#include "files.h"
|
||||||
#include "muscle-tab.h"
|
|
||||||
#include "getargs.h"
|
#include "getargs.h"
|
||||||
|
#include "muscle-tab.h"
|
||||||
|
#include "quote.h"
|
||||||
|
|
||||||
/* A key-value pair, along with storage that can be reclaimed when
|
/* A key-value pair, along with storage that can be reclaimed when
|
||||||
this pair is no longer needed. */
|
this pair is no longer needed. */
|
||||||
@@ -425,8 +425,8 @@ muscle_percent_define_insert (char const *variable, location variable_loc,
|
|||||||
free (variable_tr);
|
free (variable_tr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
complain_at (variable_loc, _("%%define variable '%s' redefined"),
|
complain_at (variable_loc, _("%%define variable %s redefined"),
|
||||||
variable);
|
quote (variable));
|
||||||
complain_at (muscle_percent_define_get_loc (variable),
|
complain_at (muscle_percent_define_get_loc (variable),
|
||||||
_("previous definition"));
|
_("previous definition"));
|
||||||
}
|
}
|
||||||
@@ -467,8 +467,8 @@ muscle_percent_define_get_loc (char const *variable)
|
|||||||
char const *loc_name;
|
char const *loc_name;
|
||||||
loc_name = UNIQSTR_CONCAT ("percent_define_loc(", variable, ")");
|
loc_name = UNIQSTR_CONCAT ("percent_define_loc(", variable, ")");
|
||||||
if (!muscle_find_const (loc_name))
|
if (!muscle_find_const (loc_name))
|
||||||
fatal(_("undefined %%define variable '%s' passed to"
|
fatal(_("%s: undefined %%define variable %s"),
|
||||||
" muscle_percent_define_get_loc"), variable);
|
"muscle_percent_define_get_loc", quote (variable));
|
||||||
return muscle_location_decode (loc_name);
|
return muscle_location_decode (loc_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -481,8 +481,8 @@ muscle_percent_define_get_syncline (char const *variable)
|
|||||||
UNIQSTR_CONCAT ("percent_define_syncline(", variable, ")");
|
UNIQSTR_CONCAT ("percent_define_syncline(", variable, ")");
|
||||||
syncline = muscle_find_const (syncline_name);
|
syncline = muscle_find_const (syncline_name);
|
||||||
if (!syncline)
|
if (!syncline)
|
||||||
fatal(_("undefined %%define variable '%s' passed to"
|
fatal(_("%s: undefined %%define variable %s"),
|
||||||
" muscle_percent_define_get_syncline"), variable);
|
"muscle_percent_define_get_syncline", quote (variable));
|
||||||
return syncline;
|
return syncline;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -527,14 +527,14 @@ muscle_percent_define_flag_if (char const *variable)
|
|||||||
{
|
{
|
||||||
muscle_insert (invalid_boolean_name, "");
|
muscle_insert (invalid_boolean_name, "");
|
||||||
complain_at(muscle_percent_define_get_loc (variable),
|
complain_at(muscle_percent_define_get_loc (variable),
|
||||||
_("invalid value for %%define Boolean variable '%s'"),
|
_("invalid value for %%define Boolean variable %s"),
|
||||||
variable);
|
quote (variable));
|
||||||
}
|
}
|
||||||
free (value);
|
free (value);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fatal(_("undefined %%define variable '%s' passed to muscle_percent_define_flag_if"),
|
fatal(_("%s: undefined %%define variable %s"),
|
||||||
variable);
|
"muscle_percent_define_flag", quote (variable));
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -585,10 +585,10 @@ muscle_percent_define_check_values (char const * const *values)
|
|||||||
{
|
{
|
||||||
location loc = muscle_percent_define_get_loc (*variablep);
|
location loc = muscle_percent_define_get_loc (*variablep);
|
||||||
complain_at(loc,
|
complain_at(loc,
|
||||||
_("invalid value for %%define variable '%s': '%s'"),
|
_("invalid value for %%define variable %s: %s"),
|
||||||
*variablep, value);
|
quote (*variablep), quote_n (1, value));
|
||||||
for (values = variablep + 1; *values; ++values)
|
for (values = variablep + 1; *values; ++values)
|
||||||
complain_at (loc, _("accepted value: '%s'"), *values);
|
complain_at (loc, _("accepted value: %s"), quote (*values));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -598,9 +598,8 @@ muscle_percent_define_check_values (char const * const *values)
|
|||||||
free (value);
|
free (value);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
fatal(_("undefined %%define variable '%s' passed to"
|
fatal (_("%s: undefined %%define variable %s"),
|
||||||
" muscle_percent_define_check_values"),
|
"muscle_percent_define_check_values", quote (*variablep));
|
||||||
*variablep);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,8 @@
|
|||||||
#ifndef MUSCLE_TAB_H_
|
#ifndef MUSCLE_TAB_H_
|
||||||
# define MUSCLE_TAB_H_
|
# define MUSCLE_TAB_H_
|
||||||
|
|
||||||
|
# include <quotearg.h>
|
||||||
|
|
||||||
# include "location.h"
|
# include "location.h"
|
||||||
|
|
||||||
void muscle_init (void);
|
void muscle_init (void);
|
||||||
|
|||||||
@@ -130,8 +130,8 @@ record_merge_function_type (int merger, uniqstr type, location declaration_loc)
|
|||||||
if (merge_function->type != NULL && !UNIQSTR_EQ (merge_function->type, type))
|
if (merge_function->type != NULL && !UNIQSTR_EQ (merge_function->type, type))
|
||||||
{
|
{
|
||||||
complain_at (declaration_loc,
|
complain_at (declaration_loc,
|
||||||
_("result type clash on merge function '%s': <%s> != <%s>"),
|
_("result type clash on merge function %s: <%s> != <%s>"),
|
||||||
merge_function->name, type, merge_function->type);
|
quote (merge_function->name), type, merge_function->type);
|
||||||
complain_at (merge_function->type_declaration_location,
|
complain_at (merge_function->type_declaration_location,
|
||||||
_("previous declaration"));
|
_("previous declaration"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -754,13 +754,13 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
|
|||||||
{
|
{
|
||||||
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);
|
quote (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);
|
quote (rule->content.sym->tag));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
untyped_var_seen = true;
|
untyped_var_seen = true;
|
||||||
@@ -781,8 +781,8 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
|
|||||||
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, quote (effective_rule->content.sym->tag));
|
||||||
else
|
else
|
||||||
untyped_var_seen = true;
|
untyped_var_seen = true;
|
||||||
type_name = "";
|
type_name = "";
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <mbswidth.h>
|
#include <mbswidth.h>
|
||||||
#include <quote.h>
|
#include <quote.h>
|
||||||
|
#include <streq.h>
|
||||||
|
|
||||||
#include "scan-gram.h"
|
#include "scan-gram.h"
|
||||||
|
|
||||||
@@ -872,6 +873,10 @@ unexpected_end (boundary start, char const *msgid, char const *token_end)
|
|||||||
location loc;
|
location loc;
|
||||||
loc.start = start;
|
loc.start = start;
|
||||||
loc.end = scanner_cursor;
|
loc.end = scanner_cursor;
|
||||||
|
token_end = quote (token_end);
|
||||||
|
// Instead of '\'', display "'".
|
||||||
|
if (STREQ (token_end, "'\\''", '\'', '\\', '\'', '\'', 0,0,0,0,0))
|
||||||
|
token_end = "\"'\"";
|
||||||
complain_at (loc, _(msgid), token_end);
|
complain_at (loc, _(msgid), token_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -884,7 +889,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 +900,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include "complain.h"
|
#include "complain.h"
|
||||||
#include "gram.h"
|
#include "gram.h"
|
||||||
|
#include "quote.h"
|
||||||
#include "symtab.h"
|
#include "symtab.h"
|
||||||
|
|
||||||
/*-------------------------------------------------------------------.
|
/*-------------------------------------------------------------------.
|
||||||
@@ -409,10 +410,10 @@ 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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -750,8 +750,8 @@ 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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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])
|
||||||
|
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ start: ;
|
|||||||
]])
|
]])
|
||||||
|
|
||||||
AT_BISON_CHECK([[input3.y]], [[1]], [[]],
|
AT_BISON_CHECK([[input3.y]], [[1]], [[]],
|
||||||
[[input3.y: fatal error: undefined %define variable 'bogus' passed to b4_percent_define_get_loc
|
[[input3.y: fatal error: b4_percent_define_get_loc: undefined %define variable 'bogus'
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_DATA([[skel4.c]],
|
AT_DATA([[skel4.c]],
|
||||||
@@ -242,7 +242,7 @@ start: ;
|
|||||||
]])
|
]])
|
||||||
|
|
||||||
AT_BISON_CHECK([[input4.y]], [[1]], [[]],
|
AT_BISON_CHECK([[input4.y]], [[1]], [[]],
|
||||||
[[input4.y: fatal error: undefined %define variable 'bogus' passed to b4_percent_define_get_syncline
|
[[input4.y: fatal error: b4_percent_define_get_syncline: undefined %define variable 'bogus'
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|||||||
Reference in New Issue
Block a user