From 433732f25e8aeb3587a1d4fe612009352cbb880c Mon Sep 17 00:00:00 2001 From: Stu Grossman Date: Wed, 12 Aug 1998 15:50:59 +0000 Subject: * c-typeprint.c (c_print_type): Don't crash if varstring is null. * expprint.c expression.h (dump_expression): Rename to dump_prefix_expression. * Print out the expression in normal form. Call print_longest instead of trying to do it ourselves. * (dump_postfix_expression): New function, prints out the expression with indentation and better formatting and interpretation. * parse.c (parse_exp_1): Put calls to dump expressions under ifdef MAINTENANCE_CMDS and expressiondebug variable. --- gdb/parse.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'gdb/parse.c') diff --git a/gdb/parse.c b/gdb/parse.c index 1cb6217..a7cd80d 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -38,6 +38,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "command.h" #include "language.h" #include "parser-defs.h" +#include "gdbcmd.h" #include "symfile.h" /* for overlay functions */ /* Global variables declared in parser-defs.h (and commented there). */ @@ -54,6 +55,10 @@ char *namecopy; int paren_depth; int comma_terminates; +#ifdef MAINTENANCE_CMDS +static int expressiondebug = 0; +#endif + static void free_funcalls PARAMS ((void)); @@ -911,9 +916,19 @@ parse_exp_1 (stringptr, block, comma) /* Convert expression from postfix form as generated by yacc parser, to a prefix form. */ - DUMP_EXPRESSION (expout, gdb_stdout, "before conversion to prefix form"); +#ifdef MAINTENANCE_CMDS + if (expressiondebug) + dump_prefix_expression (expout, gdb_stdout, + "before conversion to prefix form"); +#endif /* MAINTENANCE_CMDS */ + prefixify_expression (expout); - DUMP_EXPRESSION (expout, gdb_stdout, "after conversion to prefix form"); + +#ifdef MAINTENANCE_CMDS + if (expressiondebug) + dump_postfix_expression (expout, gdb_stdout, + "after conversion to prefix form"); +#endif /* MAINTENANCE_CMDS */ *stringptr = lexptr; return expout; @@ -1043,4 +1058,14 @@ _initialize_parse () init_type (TYPE_CODE_INT, 1, 0, "", NULL); + +#ifdef MAINTENANCE_CMDS + add_show_from_set ( + add_set_cmd ("expressiondebug", class_maintenance, var_zinteger, + (char *)&expressiondebug, + "Set expression debugging.\n\ +When non-zero, the internal representation of expressions will be printed.", + &setlist), + &showlist); +#endif } -- cgit v1.1