* 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>
|
2013-04-08 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* coffread.c (process_coff_symbol, coff_read_enum_type): Call
|
* 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
|
static void
|
||||||
symbol_init_cplus_specific (struct general_symbol_info *gsymbol,
|
symbol_init_cplus_specific (struct general_symbol_info *gsymbol,
|
||||||
struct objfile *objfile)
|
struct obstack *obstack)
|
||||||
{
|
{
|
||||||
/* A language_specific structure should not have been previously
|
/* A language_specific structure should not have been previously
|
||||||
initialized. */
|
initialized. */
|
||||||
gdb_assert (gsymbol->language_specific.cplus_specific == NULL);
|
gdb_assert (gsymbol->language_specific.cplus_specific == NULL);
|
||||||
gdb_assert (objfile != NULL);
|
gdb_assert (obstack != NULL);
|
||||||
|
|
||||||
gsymbol->language_specific.cplus_specific =
|
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
|
/* 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
|
void
|
||||||
symbol_set_demangled_name (struct general_symbol_info *gsymbol,
|
symbol_set_demangled_name (struct general_symbol_info *gsymbol,
|
||||||
const char *name,
|
const char *name,
|
||||||
struct objfile *objfile)
|
struct obstack *obstack)
|
||||||
{
|
{
|
||||||
if (gsymbol->language == language_cplus)
|
if (gsymbol->language == language_cplus)
|
||||||
{
|
{
|
||||||
if (gsymbol->language_specific.cplus_specific == NULL)
|
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;
|
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;
|
gsymbol->name = (*slot)->mangled + lookup_len - len;
|
||||||
if ((*slot)->demangled[0] != '\0')
|
if ((*slot)->demangled[0] != '\0')
|
||||||
symbol_set_demangled_name (gsymbol, (*slot)->demangled, objfile);
|
symbol_set_demangled_name (gsymbol, (*slot)->demangled,
|
||||||
|
&objfile->objfile_obstack);
|
||||||
else
|
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
|
/* 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 *,
|
extern void symbol_set_demangled_name (struct general_symbol_info *,
|
||||||
const char *,
|
const char *,
|
||||||
struct objfile *);
|
struct obstack *);
|
||||||
|
|
||||||
extern const char *symbol_get_demangled_name
|
extern const char *symbol_get_demangled_name
|
||||||
(const struct general_symbol_info *);
|
(const struct general_symbol_info *);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue