* symtab.c (symbol_init_cplus_specific, symbol_set_demangled_name):
Take an obstack, not an objfile. (symbol_set_names): Update. * symtab.h (symbol_set_demangled_name): Update.
This commit is contained in:
parent
e623cf5da2
commit
ccde22c0a4
3 changed files with 16 additions and 8 deletions
|
@ -1,3 +1,10 @@
|
|||
2013-04-08 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* symtab.c (symbol_init_cplus_specific, symbol_set_demangled_name):
|
||||
Take an obstack, not an objfile.
|
||||
(symbol_set_names): Update.
|
||||
* symtab.h (symbol_set_demangled_name): Update.
|
||||
|
||||
2013-04-08 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* coffread.c (process_coff_symbol, coff_read_enum_type): Call
|
||||
|
|
15
gdb/symtab.c
15
gdb/symtab.c
|
@ -420,15 +420,15 @@ gdb_mangle_name (struct type *type, int method_id, int signature_id)
|
|||
|
||||
static void
|
||||
symbol_init_cplus_specific (struct general_symbol_info *gsymbol,
|
||||
struct objfile *objfile)
|
||||
struct obstack *obstack)
|
||||
{
|
||||
/* A language_specific structure should not have been previously
|
||||
initialized. */
|
||||
gdb_assert (gsymbol->language_specific.cplus_specific == NULL);
|
||||
gdb_assert (objfile != NULL);
|
||||
gdb_assert (obstack != NULL);
|
||||
|
||||
gsymbol->language_specific.cplus_specific =
|
||||
OBSTACK_ZALLOC (&objfile->objfile_obstack, struct cplus_specific);
|
||||
OBSTACK_ZALLOC (obstack, struct cplus_specific);
|
||||
}
|
||||
|
||||
/* Set the demangled name of GSYMBOL to NAME. NAME must be already
|
||||
|
@ -439,12 +439,12 @@ symbol_init_cplus_specific (struct general_symbol_info *gsymbol,
|
|||
void
|
||||
symbol_set_demangled_name (struct general_symbol_info *gsymbol,
|
||||
const char *name,
|
||||
struct objfile *objfile)
|
||||
struct obstack *obstack)
|
||||
{
|
||||
if (gsymbol->language == language_cplus)
|
||||
{
|
||||
if (gsymbol->language_specific.cplus_specific == NULL)
|
||||
symbol_init_cplus_specific (gsymbol, objfile);
|
||||
symbol_init_cplus_specific (gsymbol, obstack);
|
||||
|
||||
gsymbol->language_specific.cplus_specific->demangled_name = name;
|
||||
}
|
||||
|
@ -791,9 +791,10 @@ symbol_set_names (struct general_symbol_info *gsymbol,
|
|||
|
||||
gsymbol->name = (*slot)->mangled + lookup_len - len;
|
||||
if ((*slot)->demangled[0] != '\0')
|
||||
symbol_set_demangled_name (gsymbol, (*slot)->demangled, objfile);
|
||||
symbol_set_demangled_name (gsymbol, (*slot)->demangled,
|
||||
&objfile->objfile_obstack);
|
||||
else
|
||||
symbol_set_demangled_name (gsymbol, NULL, objfile);
|
||||
symbol_set_demangled_name (gsymbol, NULL, &objfile->objfile_obstack);
|
||||
}
|
||||
|
||||
/* Return the source code name of a symbol. In languages where
|
||||
|
|
|
@ -169,7 +169,7 @@ struct general_symbol_info
|
|||
|
||||
extern void symbol_set_demangled_name (struct general_symbol_info *,
|
||||
const char *,
|
||||
struct objfile *);
|
||||
struct obstack *);
|
||||
|
||||
extern const char *symbol_get_demangled_name
|
||||
(const struct general_symbol_info *);
|
||||
|
|
Loading…
Reference in a new issue