From 2a2d4dc30115b5723b26b19d039b8924b1ceb27a Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 27 May 2008 19:29:52 +0000 Subject: * symtab.h (enum address_class): Remove LOC_REGPARM and LOC_COMPUTED_ARG. (struct symbol): Add is_argument. (SYMBOL_IS_ARGUMENT): Define. * ada-lang.c (ada_add_block_symbols): Use SYMBOL_IS_ARGUMENT. * buildsym.c (finish_block): Likewise. * stack.c (print_frame_args, print_block_frame_locals) (print_frame_arg_vars): Likewise. * symtab.c (lookup_block_symbol): Likewise. * tracepoint.c (add_local_symbols): Likewise. * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. * coffread.c (process_coff_symbol): Set SYMBOL_IS_ARGUMENT. * dwarf2read.c (new_symbol): Likewise. * mdebugread.c (parse_symbol): Likewise. * stabsread.c (define_symbol): Likewise. * ada-exp.y (select_possible_type_sym): Don't handle LOC_REGPARM and LOC_COMPUTED_ARG. * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise. * ax-gdb.c (gen_var_ref): Likewise. * eval.c (evaluate_subexp_for_address): Likewise. * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. * m2-exp.y (yylex): Likewise. * printcmd.c (address_info): Likewise. * symmisc.c (print_symbol, print_partial_symbols): Likewise. * tracepoint.c (collect_symbol, scope_info): Likewise. testsuite/: * gdb.base/frame-args.exp: Handle arguments that are optimized out. --- gdb/symmisc.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'gdb/symmisc.c') diff --git a/gdb/symmisc.c b/gdb/symmisc.c index 90c1918..7365bab 100644 --- a/gdb/symmisc.c +++ b/gdb/symmisc.c @@ -643,7 +643,11 @@ print_symbol (void *args) break; case LOC_REGISTER: - fprintf_filtered (outfile, "register %ld", SYMBOL_VALUE (symbol)); + if (SYMBOL_IS_ARGUMENT (symbol)) + fprintf_filtered (outfile, "parameter register %ld", + SYMBOL_VALUE (symbol)); + else + fprintf_filtered (outfile, "register %ld", SYMBOL_VALUE (symbol)); break; case LOC_ARG: @@ -655,10 +659,6 @@ print_symbol (void *args) fprintf_filtered (outfile, "reference arg at 0x%lx", SYMBOL_VALUE (symbol)); break; - case LOC_REGPARM: - fprintf_filtered (outfile, "parameter register %ld", SYMBOL_VALUE (symbol)); - break; - case LOC_REGPARM_ADDR: fprintf_filtered (outfile, "address parameter register %ld", SYMBOL_VALUE (symbol)); break; @@ -698,7 +698,6 @@ print_symbol (void *args) break; case LOC_COMPUTED: - case LOC_COMPUTED_ARG: fprintf_filtered (outfile, "computed at runtime"); break; @@ -820,9 +819,6 @@ print_partial_symbols (struct partial_symbol **p, int count, char *what, case LOC_REF_ARG: fputs_filtered ("pass by reference", outfile); break; - case LOC_REGPARM: - fputs_filtered ("register parameter", outfile); - break; case LOC_REGPARM_ADDR: fputs_filtered ("register address parameter", outfile); break; @@ -848,7 +844,6 @@ print_partial_symbols (struct partial_symbol **p, int count, char *what, fputs_filtered ("optimized out", outfile); break; case LOC_COMPUTED: - case LOC_COMPUTED_ARG: fputs_filtered ("computed at runtime", outfile); break; default: -- cgit v1.1