diff options
author | Christian Biesinger <cbiesinger@google.com> | 2019-11-04 13:12:09 -0600 |
---|---|---|
committer | Christian Biesinger <cbiesinger@google.com> | 2019-11-12 15:21:35 -0600 |
commit | 468c0cbb327fadf28386a989f929fcbed4aed8b9 (patch) | |
tree | df5e63c82ad35603b4fbc8716e72dd417176601e /gdb/language.c | |
parent | ed2c82c364043cf4726541cc7e8011197185b3f8 (diff) | |
download | gdb-468c0cbb327fadf28386a989f929fcbed4aed8b9.zip gdb-468c0cbb327fadf28386a989f929fcbed4aed8b9.tar.gz gdb-468c0cbb327fadf28386a989f929fcbed4aed8b9.tar.bz2 |
Make struct symbol inherit from general_symbol_info
Since this is now no longer a POD, also give it a constructor that
initializes all fields. (I have considered overloading operator new
to zero-initialize the memory instead; let me know if you prefer that)
gdb/ChangeLog:
2019-11-12 Christian Biesinger <cbiesinger@google.com>
* ada-exp.y (write_ambiguous_var): Update.
* buildsym.c (add_symbol_to_list): Update.
* dwarf2read.c (read_variable): Update.
(new_symbol): Update.
* jit.c (finalize_symtab): Update.
* language.c (language_alloc_type_symbol): Update.
* symtab.c (fixup_symbol_section): Update.
(initialize_objfile_symbol_1): Move code to...
(initialize_objfile_symbol): ...here. Remove now-unnecessary memset.
(allocate_symbol): Update.
(allocate_template_symbol): Update.
(get_symbol_address): Update.
* symtab.h (struct symbol): Inherit from general_symbol_info instead
of having as a field, and add a constructor.
(SYMBOL_VALUE): Update.
(SYMBOL_VALUE_ADDRESS): Update.
(SET_SYMBOL_VALUE_ADDRESS): Update.
(SYMBOL_VALUE_BYTES): Update.
(SYMBOL_VALUE_COMMON_BLOCK): Update.
(SYMBOL_BLOCK_VALUE): Update.
(SYMBOL_VALUE_CHAIN): Update.
(SYMBOL_LANGUAGE): Update.
(SYMBOL_SECTION): Update.
(SYMBOL_OBJ_SECTION): Update.
(SYMBOL_SET_LANGUAGE): Update.
(SYMBOL_SET_LINKAGE_NAME): Update.
(SYMBOL_SET_NAMES): Update.
(SYMBOL_NATURAL_NAME): Update.
(SYMBOL_LINKAGE_NAME): Update.
(SYMBOL_DEMANGLED_NAME): Update.
(SYMBOL_SEARCH_NAME): Update.
(SYMBOL_MATCHES_SEARCH_NAME): Update.
(struct symbol): Update.
(struct template_symbol): Update.
(struct rust_vtable_symbol): Update.
* xcoffread.c (SYMBOL_DUP): Update.
Change-Id: I05b1628455bcce3efaa101e65ef051708d17eb07
Diffstat (limited to 'gdb/language.c')
-rw-r--r-- | gdb/language.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/language.c b/gdb/language.c index 0e13c71..6ab0ca3 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -1048,10 +1048,10 @@ language_alloc_type_symbol (enum language lang, struct type *type) gdb_assert (!TYPE_OBJFILE_OWNED (type)); gdbarch = TYPE_OWNER (type).gdbarch; - symbol = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct symbol); + symbol = new (gdbarch_obstack (gdbarch)) struct symbol (); - symbol->ginfo.name = TYPE_NAME (type); - symbol->ginfo.language = lang; + symbol->name = TYPE_NAME (type); + symbol->language = lang; symbol->owner.arch = gdbarch; SYMBOL_OBJFILE_OWNED (symbol) = 0; SYMBOL_TYPE (symbol) = type; |