mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
Pass command line location to skeleton_arg and language_argmatch.
* src/getargs.h, src/getargs.c (skeleton_arg, language_argmatch): The location argument is now mandatory. Adjust all dependencies. (getargs): Use command_line_location.
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
2008-11-07 Akim Demaille <demaille@gostai.com>
|
||||
|
||||
Pass command line location to skeleton_arg and language_argmatch.
|
||||
* src/getargs.h, src/getargs.c (skeleton_arg, language_argmatch):
|
||||
The location argument is now mandatory.
|
||||
Adjust all dependencies.
|
||||
(getargs): Use command_line_location.
|
||||
|
||||
2008-11-07 Akim Demaille <demaille@gostai.com>
|
||||
|
||||
-D, --define.
|
||||
|
||||
@@ -361,7 +361,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
|
||||
`--------------------------------------*/
|
||||
|
||||
void
|
||||
skeleton_arg (char const *arg, int prio, location const *loc)
|
||||
skeleton_arg (char const *arg, int prio, location loc)
|
||||
{
|
||||
if (prio < skeleton_prio)
|
||||
{
|
||||
@@ -372,15 +372,12 @@ skeleton_arg (char const *arg, int prio, location const *loc)
|
||||
{
|
||||
char const *msg =
|
||||
_("multiple skeleton declarations are invalid");
|
||||
if (loc)
|
||||
complain_at (*loc, msg);
|
||||
else
|
||||
complain (msg);
|
||||
complain_at (loc, msg);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
language_argmatch (char const *arg, int prio, location const *loc)
|
||||
language_argmatch (char const *arg, int prio, location loc)
|
||||
{
|
||||
char const *msg;
|
||||
|
||||
@@ -401,10 +398,7 @@ language_argmatch (char const *arg, int prio, location const *loc)
|
||||
else
|
||||
return;
|
||||
|
||||
if (loc)
|
||||
complain_at (*loc, msg, arg);
|
||||
else
|
||||
complain (msg, arg);
|
||||
complain_at (loc, msg, arg);
|
||||
}
|
||||
|
||||
/*----------------------.
|
||||
@@ -546,11 +540,11 @@ getargs (int argc, char *argv[])
|
||||
break;
|
||||
|
||||
case 'L':
|
||||
language_argmatch (optarg, 0, NULL);
|
||||
language_argmatch (optarg, 0, command_line_location ());
|
||||
break;
|
||||
|
||||
case 'S':
|
||||
skeleton_arg (AS_FILE_NAME (optarg), 0, NULL);
|
||||
skeleton_arg (AS_FILE_NAME (optarg), 0, command_line_location ());
|
||||
break;
|
||||
|
||||
case 'T':
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* Parse command line arguments for bison.
|
||||
|
||||
Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004,
|
||||
2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of Bison, the GNU Compiler Compiler.
|
||||
|
||||
@@ -132,7 +132,7 @@ extern int warnings_flag;
|
||||
void getargs (int argc, char *argv[]);
|
||||
|
||||
/* Used by parse-gram.y. */
|
||||
void language_argmatch (char const *arg, int prio, location const *loc);
|
||||
void skeleton_arg (const char *arg, int prio, location const *loc);
|
||||
void language_argmatch (char const *arg, int prio, location loc);
|
||||
void skeleton_arg (const char *arg, int prio, location loc);
|
||||
|
||||
#endif /* !GETARGS_H_ */
|
||||
|
||||
@@ -2029,7 +2029,7 @@ yyreduce:
|
||||
|
||||
/* Line 1457 of yacc.c */
|
||||
#line 257 "parse-gram.y"
|
||||
{ language_argmatch ((yyvsp[(2) - (2)].chars), 1, &(yylsp[(1) - (2)])); }
|
||||
{ language_argmatch ((yyvsp[(2) - (2)].chars), 1, (yylsp[(1) - (2)])); }
|
||||
|
||||
/* Line 1457 of yacc.c */
|
||||
#line 2036 "../../../src/parse-gram.c"
|
||||
@@ -2181,7 +2181,7 @@ yyreduce:
|
||||
skeleton_user = uniqstr_new (skeleton_build);
|
||||
free (skeleton_build);
|
||||
}
|
||||
skeleton_arg (skeleton_user, 1, &(yylsp[(1) - (2)]));
|
||||
skeleton_arg (skeleton_user, 1, (yylsp[(1) - (2)]));
|
||||
}
|
||||
|
||||
/* Line 1457 of yacc.c */
|
||||
|
||||
@@ -254,7 +254,7 @@ prologue_declaration:
|
||||
muscle_code_grow ("initial_action", action.code, @2);
|
||||
code_scanner_last_string_free ();
|
||||
}
|
||||
| "%language" STRING { language_argmatch ($2, 1, &@1); }
|
||||
| "%language" STRING { language_argmatch ($2, 1, @1); }
|
||||
| "%lex-param" "{...}" { add_param ("lex_param", $2, @2); }
|
||||
| "%locations" { locations_flag = true; }
|
||||
| "%name-prefix" STRING { spec_name_prefix = $2; }
|
||||
@@ -300,7 +300,7 @@ prologue_declaration:
|
||||
skeleton_user = uniqstr_new (skeleton_build);
|
||||
free (skeleton_build);
|
||||
}
|
||||
skeleton_arg (skeleton_user, 1, &@1);
|
||||
skeleton_arg (skeleton_user, 1, @1);
|
||||
}
|
||||
| "%token-table" { token_table_flag = true; }
|
||||
| "%verbose" { report_flag |= report_states; }
|
||||
|
||||
Reference in New Issue
Block a user