diff options
author | Fred Fish <fnf@specifix.com> | 1992-07-21 04:14:34 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1992-07-21 04:14:34 +0000 |
commit | c0f1085b5a94342421f2623a0c743b089195d734 (patch) | |
tree | 668e7fb091fad0a68d51104bc57b032c67ac5ad8 /gdb/buildsym.c | |
parent | 4a2d5d0ef6f3e2e34260663fc9e321821db6dd2f (diff) | |
download | gdb-c0f1085b5a94342421f2623a0c743b089195d734.zip gdb-c0f1085b5a94342421f2623a0c743b089195d734.tar.gz gdb-c0f1085b5a94342421f2623a0c743b089195d734.tar.bz2 |
* buildsym.c (read_struct_type): Initialize structs allocated
with alloca, to avoid using random values from stack later on.
* defs.h (fprintf_filtered): Add prototype.
* gdbtypes.c (check_stub_method): Fix misleading comments.
* gdbtypes.c (print_arg_types, dump_fn_fieldlists): New maint
support functions.
* gdbtypes.c (print_cplus_stuff, recursive_dump_type): Many
small changes to maint support functions.
* gdbtypes.h (cplus_struct_type): Reorganize member ordering
for some fields and expand comments.
* objfiles.c (allocate_objfile): Use new obstack_alloc_arg
macro and track change to obstack_full_begin macro.
* utils.c (fprintfi_filtered): New function.
* valprint.c (type_print_base): Fixup field printing to not
print extraneous lines and not print bogus "no data fields"
messages for C++ classes with no data members. Also use new
fprintfi_filtered function.
Diffstat (limited to 'gdb/buildsym.c')
-rw-r--r-- | gdb/buildsym.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gdb/buildsym.c b/gdb/buildsym.c index 5e472b5..9636cd2 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -2208,6 +2208,7 @@ read_struct_type (pp, type, objfile) /* Make this baseclass visible for structure-printing purposes. */ new = (struct nextfield *) alloca (sizeof (struct nextfield)); + memset (new, 0, sizeof (struct nextfield)); new->next = list; list = new; list->visibility = via_public; @@ -2240,6 +2241,7 @@ read_struct_type (pp, type, objfile) /* Get space to record the next field's data. */ new = (struct nextfield *) alloca (sizeof (struct nextfield)); + memset (new, 0, sizeof (struct nextfield)); new->next = list; list = new; @@ -2477,10 +2479,13 @@ read_struct_type (pp, type, objfile) struct next_fnfield *sublist = 0; struct type *look_ahead_type = NULL; int length = 0; - struct next_fnfieldlist *new_mainlist = - (struct next_fnfieldlist *)alloca (sizeof (struct next_fnfieldlist)); + struct next_fnfieldlist *new_mainlist; char *main_fn_name; + new_mainlist = (struct next_fnfieldlist *) + alloca (sizeof (struct next_fnfieldlist)); + memset (new_mainlist, 0, sizeof (struct next_fnfieldlist)); + p = *pp; /* read in the name. */ @@ -2520,7 +2525,8 @@ read_struct_type (pp, type, objfile) do { struct next_fnfield *new_sublist = - (struct next_fnfield *)alloca (sizeof (struct next_fnfield)); + (struct next_fnfield *) alloca (sizeof (struct next_fnfield)); + memset (new_sublist, 0, sizeof (struct next_fnfield)); /* Check for and handle cretinous dbx symbol name continuation! */ if (look_ahead_type == NULL) /* Normal case. */ |