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:
Akim Demaille
2008-07-29 13:30:02 +02:00
parent 58697c6d89
commit 5a893c2b26
5 changed files with 21 additions and 19 deletions

View File

@@ -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.

View File

@@ -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':

View File

@@ -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_ */

View File

@@ -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 */

View File

@@ -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; }