aboutsummaryrefslogtreecommitdiff
path: root/gdb/c-valprint.c
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>1995-03-10 11:21:32 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>1995-03-10 11:21:32 +0000
commita1a0d9748466c84c988529cf9fa192822151d272 (patch)
tree9671506adfce8e823e5fb97e0bb37cdb0119c934 /gdb/c-valprint.c
parent45d6f6230e92308144b8455db8a00b21145580e7 (diff)
downloadgdb-a1a0d9748466c84c988529cf9fa192822151d272.zip
gdb-a1a0d9748466c84c988529cf9fa192822151d272.tar.gz
gdb-a1a0d9748466c84c988529cf9fa192822151d272.tar.bz2
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 <string.h>. * 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.
Diffstat (limited to 'gdb/c-valprint.c')
-rw-r--r--gdb/c-valprint.c8
1 files changed, 3 insertions, 5 deletions
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: