Initialize the muscle table before parsing the command line.

* src/getargs.c (quotearg.h, muscle_tab.h): Include.
	(getargs): Define file_name.
	* src/main.c (main): Initialize muscle_tab before calling
	getargs.
	* src/muscle_tab.c (muscle_init): No longer define file_name, as
	its value is not available yet.
This commit is contained in:
Akim Demaille
2008-07-29 12:47:41 +02:00
committed by Joel E. Denny
parent 33d2a86079
commit 75c21b618d
4 changed files with 17 additions and 6 deletions

View File

@@ -1,3 +1,13 @@
2008-11-07 Akim Demaille <demaille@gostai.com>
Initialize the muscle table before parsing the command line.
* src/getargs.c (quotearg.h, muscle_tab.h): Include.
(getargs): Define file_name.
* src/main.c (main): Initialize muscle_tab before calling
getargs.
* src/muscle_tab.c (muscle_init): No longer define file_name, as
its value is not available yet.
2008-11-09 Akim Demaille <demaille@gostai.com> 2008-11-09 Akim Demaille <demaille@gostai.com>
Require the generation of parse-gram.output. Require the generation of parse-gram.output.

View File

@@ -26,6 +26,7 @@
#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__
@@ -43,6 +44,7 @@
#include "complain.h" #include "complain.h"
#include "files.h" #include "files.h"
#include "getargs.h" #include "getargs.h"
#include "muscle_tab.h"
#include "uniqstr.h" #include "uniqstr.h"
bool debug_flag; bool debug_flag;
@@ -623,4 +625,5 @@ getargs (int argc, char *argv[])
} }
current_file = grammar_file = uniqstr_new (argv[optind]); current_file = grammar_file = uniqstr_new (argv[optind]);
MUSCLE_INSERT_C_STRING ("file_name", grammar_file);
} }

View File

@@ -1,7 +1,7 @@
/* Top level entry point of Bison. /* Top level entry point of Bison.
Copyright (C) 1984, 1986, 1989, 1992, 1995, 2000, 2001, 2002, 2004, Copyright (C) 1984, 1986, 1989, 1992, 1995, 2000, 2001, 2002, 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. This file is part of Bison, the GNU Compiler Compiler.
@@ -62,6 +62,7 @@ main (int argc, char *argv[])
(void) textdomain (PACKAGE); (void) textdomain (PACKAGE);
uniqstrs_new (); uniqstrs_new ();
muscle_init ();
getargs (argc, argv); getargs (argc, argv);
@@ -72,8 +73,6 @@ main (int argc, char *argv[])
if (trace_flag & trace_bitsets) if (trace_flag & trace_bitsets)
bitset_stats_enable (); bitset_stats_enable ();
muscle_init ();
/* Read the input. Copy some parts of it to FGUARD, FACTION, FTABLE /* Read the input. Copy some parts of it to FGUARD, FACTION, FTABLE
and FATTRS. In file reader.c. The other parts are recorded in and FATTRS. In file reader.c. The other parts are recorded in
the grammar; see gram.h. */ the grammar; see gram.h. */

View File

@@ -1,7 +1,7 @@
/* Muscle table manager for Bison. /* Muscle table manager for Bison.
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 Free Software Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free
Foundation, Inc. Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.
@@ -85,7 +85,6 @@ muscle_init (void)
/* Version and input file. */ /* Version and input file. */
MUSCLE_INSERT_STRING ("version", VERSION); MUSCLE_INSERT_STRING ("version", VERSION);
MUSCLE_INSERT_C_STRING ("file_name", grammar_file);
} }