From 65d12d83a581c833b3c09acead57dd1134154e46 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 6 Jun 2008 20:58:08 +0000 Subject: gdb * value.h (evaluate_subexpression_type, extract_field_op): Declare. * printcmd.c (_initialize_printcmd): Use expression_completer for 'p', 'inspect', 'call'. * parser-defs.h (parse_field_expression): Declare. * parse.c: Include exceptions.h. (in_parse_field, expout_last_struct): New globals. (mark_struct_expression): New function. (prefixify_expression): Return int. (prefixify_subexp): Return int. Use expout_last_struct. (parse_exp_1): Update. (parse_exp_in_context): Add 'out_subexp' argument. Handle in_parse_field. (parse_field_expression): New function. * expression.h (parse_field_expression): Declare. (in_parse_field): Likewise. * eval.c (evaluate_subexpression_type): New function. (extract_field_op): Likewise. * completer.h (expression_completer): Declare. * completer.c (expression_completer): New function. (count_struct_fields, add_struct_fields): New functions. * c-exp.y (yyparse): Redefine. (COMPLETE): New token. (exp): New productions. (saw_name_at_eof, last_was_structop): New globals. (yylex): Return COMPLETE when needed. Recognize in_parse_field. (c_parse): New function. * breakpoint.c (_initialize_breakpoint): Use expression_completer for watch, awatch, and rwatch. * Makefile.in (parse.o): Depend on exceptions_h. gdb/testsuite * gdb.base/break1.c (struct some_struct): New struct. (values): New global. * gdb.base/completion.exp: Add field name completion test. gdb/doc * gdb.texinfo (Completion): Add field name example. --- gdb/printcmd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gdb/printcmd.c') diff --git a/gdb/printcmd.c b/gdb/printcmd.c index bbfef3e..e25c73c 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -2366,7 +2366,7 @@ Call a function in the program.\n\ The argument is the function name and arguments, in the notation of the\n\ current working language. The result is printed and saved in the value\n\ history, if it is not void.")); - set_cmd_completer (c, location_completer); + set_cmd_completer (c, expression_completer); add_cmd ("variable", class_vars, set_command, _("\ Evaluate expression EXP and assign result to variable VAR, using assignment\n\ @@ -2399,13 +2399,13 @@ resides in memory.\n\ \n\ EXP may be preceded with /FMT, where FMT is a format letter\n\ but no count or size letter (see \"x\" command).")); - set_cmd_completer (c, location_completer); + set_cmd_completer (c, expression_completer); add_com_alias ("p", "print", class_vars, 1); c = add_com ("inspect", class_vars, inspect_command, _("\ Same as \"print\" command, except that if you are running in the epoch\n\ environment, the value is printed in its own window.")); - set_cmd_completer (c, location_completer); + set_cmd_completer (c, expression_completer); add_setshow_uinteger_cmd ("max-symbolic-offset", no_class, &max_symbolic_offset, _("\ -- cgit v1.1