diff options
author | Tom de Vries <tdevries@suse.de> | 2023-08-31 09:37:44 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2023-08-31 09:37:44 +0200 |
commit | 4b3d893ac8bb787ff229a9f765a771903c760b97 (patch) | |
tree | dc23f1e13fef4a6057cc4d11ce88817380cabe46 | |
parent | 2774f2dad5f05e68771c07df6ab0fb23baa2118e (diff) | |
download | gdb-4b3d893ac8bb787ff229a9f765a771903c760b97.zip gdb-4b3d893ac8bb787ff229a9f765a771903c760b97.tar.gz gdb-4b3d893ac8bb787ff229a9f765a771903c760b97.tar.bz2 |
[gdb/symtab] Do more zero-initialization of type::fields
Now that we've introduced type::{alloc_fields,copy_fields}, the places where
no zero-initialization of allocated fields is done are easy to spot:
...
$ find gdb* -type f | grep -v ChangeLog | xargs grep alloc_fields | grep false
gdb/coffread.c: type->alloc_fields (nfields, false);
gdb/coffread.c: type->alloc_fields (nsyms, false);
gdb/stabsread.c: ftype->alloc_fields (nsemi, false);
gdb/gdbtypes.c: resolved_type->alloc_fields (nfields, false);
gdb/gdbtypes.c: alloc_fields (nfields, false);
gdb/gdbtypes.c: alloc_fields (nfields, false);
gdb/mdebugread.c: t->alloc_fields (nfields, false);
gdb/mdebugread.c: ftype->alloc_fields (nparams, false);
...
All hits in gdbtypes.c are ok. There are two hits in the two variants of
copy_fields, and there's already a comment for the third.
AFAICT, the other ones are not ok, so fix those by dropping the "false"
argument.
Tested on x86_64-linux.
Approved-By: Tom Tromey <tom@tromey.com>
-rw-r--r-- | gdb/coffread.c | 4 | ||||
-rw-r--r-- | gdb/mdebugread.c | 4 | ||||
-rw-r--r-- | gdb/stabsread.c | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/gdb/coffread.c b/gdb/coffread.c index e132dd1..e251f11 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -2032,7 +2032,7 @@ coff_read_struct_type (int index, int length, int lastsym, } /* Now create the vector of fields, and record how big it is. */ - type->alloc_fields (nfields, false); + type->alloc_fields (nfields); /* Copy the saved-up fields into the field vector. */ @@ -2110,7 +2110,7 @@ coff_read_enum_type (int index, int length, int lastsym, else /* Assume ints. */ type->set_length (gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT); type->set_code (TYPE_CODE_ENUM); - type->alloc_fields (nsyms, false); + type->alloc_fields (nsyms); /* Find the symbols for the values and put them into the type. The symbols can be found in the symlist that we put them on diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c index 688501e..ad9967b 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -1034,7 +1034,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend, t->set_code (type_code); t->set_length (sh->value); - t->alloc_fields (nfields, false); + t->alloc_fields (nfields); if (type_code == TYPE_CODE_ENUM) { @@ -1195,7 +1195,7 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend, if (nparams > 0) { - ftype->alloc_fields (nparams, false); + ftype->alloc_fields (nparams); iparams = 0; for (struct symbol *sym : block_iterator_range (cblock)) diff --git a/gdb/stabsread.c b/gdb/stabsread.c index c29d1c0..ad9258a 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -982,7 +982,7 @@ define_symbol (CORE_ADDR valu, const char *string, int desc, int type, } /* Allocate parameter information fields and fill them in. */ - ftype->alloc_fields (nsemi, false); + ftype->alloc_fields (nsemi); while (*p++ == ';') { struct type *ptype; |