From a1a0d9748466c84c988529cf9fa192822151d272 Mon Sep 17 00:00:00 2001 From: Peter Schauer Date: Fri, 10 Mar 1995 11:21:32 +0000 Subject: Fix problems with infinite recursion when printing a class that contains a static instance of the class. * cp-valprint.c (dont_print_vb_obstack): Renamed from dont_print_obstack, made static. (dont_print_statmem_obstack): New obstack, controls printing of static member classes. (_initialize_cp_valprint): Initialize it. (cp_print_static_field): New function, handles printing of static members. (cp_print_value_fields): New parameter dont_print_statmem to handle recursive printing of static member classes, use cp_print_static_field to handle printing of static members. * c-valprint.c (cp_print_value_fields): Update prototype and call to include additional dont_print_statmem parameter. * c-valprint.c, f-valprint.c (dont_print_obstack): Remove unused extern declaration. * alpha-tdep.c, findvar.c, infptrace.c: Include . * config/alpha/tm-alpha.h (FRAME_FIND_SAVED_REGS): Call alpha_find_saved_regs if fi->saved_regs is still NULL. * elfread.c (elf_symtab_read): Ensure that the filename field of a minsym is nonempty. Ignore solib trampoline symbols from the main symbol table, they might have a bogus value. * procfs.c (set_proc_siginfo), config/alpha/alpha-osf2.mh: Fix typos in comments. --- gdb/c-valprint.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'gdb/c-valprint.c') diff --git a/gdb/c-valprint.c b/gdb/c-valprint.c index 5e5791b..5c50124 100644 --- a/gdb/c-valprint.c +++ b/gdb/c-valprint.c @@ -1,5 +1,5 @@ /* Support for printing C values for GDB, the GNU debugger. - Copyright 1986, 1988, 1989, 1991, 1992, 1993, 1994 + Copyright 1986, 1988, 1989, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. This file is part of GDB. @@ -39,7 +39,7 @@ cp_print_class_method PARAMS ((char *, struct type *, GDB_FILE *)); extern void cp_print_value_fields PARAMS ((struct type *, char *, GDB_FILE *, int, int, - enum val_prettyprint, struct type **)); + enum val_prettyprint, struct type **, int)); extern int cp_is_vtbl_ptr_type PARAMS ((struct type *)); @@ -61,8 +61,6 @@ cp_type_print_method_args PARAMS ((struct type **, char *, char *, int, /* END-FIXME */ -extern struct obstack dont_print_obstack; - /* Print data of type TYPE located at VALADDR (within GDB), which came from the inferior at address ADDRESS, onto stdio stream STREAM according to @@ -323,7 +321,7 @@ c_val_print (type, valaddr, address, stream, format, deref_ref, recurse, break; } cp_print_value_fields (type, valaddr, stream, format, recurse, pretty, - 0); + NULL, 0); break; case TYPE_CODE_ENUM: -- cgit v1.1