mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
gdb
* parser-defs.h (parser_debug): Declare. * parse.c (_initialize_parse): Install "debug parser" set/show command. (parser_debug): New global. (show_parserdebug): New function. * c-exp.y (c_parse): Set yydebug. gdb/testsuite * gdb.texinfo (Debugging Output): Document set debug parser and show debug parser.
This commit is contained in:
parent
9fd3625f79
commit
92981e2446
@ -1,3 +1,12 @@
|
||||
2010-02-10 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* parser-defs.h (parser_debug): Declare.
|
||||
* parse.c (_initialize_parse): Install "debug parser" set/show
|
||||
command.
|
||||
(parser_debug): New global.
|
||||
(show_parserdebug): New function.
|
||||
* c-exp.y (c_parse): Set yydebug.
|
||||
|
||||
2010-02-10 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* target-descriptions.c (tdesc_type): Add TDESC_TYPE_I387_EXT,
|
||||
|
@ -2450,6 +2450,9 @@ c_parse (void)
|
||||
gdb_assert (! macro_original_text);
|
||||
make_cleanup (scan_macro_cleanup, 0);
|
||||
|
||||
make_cleanup_restore_integer (&yydebug);
|
||||
yydebug = parser_debug;
|
||||
|
||||
/* Initialize some state used by the lexer. */
|
||||
last_was_structop = 0;
|
||||
saw_name_at_eof = 0;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2010-02-10 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* gdb.texinfo (Debugging Output): Document set debug parser and
|
||||
show debug parser.
|
||||
|
||||
2010-02-09 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* gdb.texinfo (Predefined Target Types): Add i387_ext,
|
||||
|
@ -18848,6 +18848,15 @@ is off.
|
||||
@item show debug overload
|
||||
Displays the current state of displaying @value{GDBN} C@t{++} overload
|
||||
debugging info.
|
||||
@cindex expression parser, debugging info
|
||||
@cindex debug expression parser
|
||||
@item set debug parser
|
||||
Turns on or off the display of expression parser debugging output.
|
||||
Internally, this sets the @code{yydebug} variable in the expression
|
||||
parser. @xref{Tracing, , Tracing Your Parser, bison, Bison}, for
|
||||
details. The default is off.
|
||||
@item show debug parser
|
||||
Show the current state of expression parser debugging.
|
||||
@cindex packets, reporting on stdout
|
||||
@cindex serial connections, debugging
|
||||
@cindex debug remote protocol
|
||||
|
20
gdb/parse.c
20
gdb/parse.c
@ -109,6 +109,18 @@ show_expressiondebug (struct ui_file *file, int from_tty,
|
||||
fprintf_filtered (file, _("Expression debugging is %s.\n"), value);
|
||||
}
|
||||
|
||||
|
||||
/* Non-zero if an expression parser should set yydebug. */
|
||||
int parser_debug;
|
||||
|
||||
static void
|
||||
show_parserdebug (struct ui_file *file, int from_tty,
|
||||
struct cmd_list_element *c, const char *value)
|
||||
{
|
||||
fprintf_filtered (file, _("Parser debugging is %s.\n"), value);
|
||||
}
|
||||
|
||||
|
||||
static void free_funcalls (void *ignore);
|
||||
|
||||
static int prefixify_expression (struct expression *);
|
||||
@ -1377,4 +1389,12 @@ When non-zero, the internal representation of expressions will be printed."),
|
||||
NULL,
|
||||
show_expressiondebug,
|
||||
&setdebuglist, &showdebuglist);
|
||||
add_setshow_boolean_cmd ("parser", class_maintenance,
|
||||
&parser_debug, _("\
|
||||
Set parser debugging."), _("\
|
||||
Show parser debugging."), _("\
|
||||
When non-zero, expression parser tracing will be enabled."),
|
||||
NULL,
|
||||
show_parserdebug,
|
||||
&setdebuglist, &showdebuglist);
|
||||
}
|
||||
|
@ -29,6 +29,8 @@
|
||||
|
||||
struct block;
|
||||
|
||||
extern int parser_debug;
|
||||
|
||||
extern struct expression *expout;
|
||||
extern int expout_size;
|
||||
extern int expout_ptr;
|
||||
|
Loading…
Reference in New Issue
Block a user