2002-10-23 Elena Zannoni <ezannoni@redhat.com>
* symtab.c (symbol_init_language_specific): New function. * symtab.h (SYMBOL_INIT_LANGUAGE_SPECIFIC): Simplify macro, by turning most of it into a function. (symbol_init_language_specific): Export.
This commit is contained in:
parent
d9fa45febb
commit
89aad1f99e
3 changed files with 39 additions and 25 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2002-10-23 Elena Zannoni <ezannoni@redhat.com>
|
||||||
|
|
||||||
|
* symtab.c (symbol_init_language_specific): New function.
|
||||||
|
* symtab.h (SYMBOL_INIT_LANGUAGE_SPECIFIC): Simplify macro, by
|
||||||
|
turning most of it into a function.
|
||||||
|
(symbol_init_language_specific): Export.
|
||||||
|
|
||||||
2002-10-23 David Carlton <carlton@math.stanford.edu>
|
2002-10-23 David Carlton <carlton@math.stanford.edu>
|
||||||
|
|
||||||
* dwarf2read.c (dwarf_tag_name): Add DWARF 3 names.
|
* dwarf2read.c (dwarf_tag_name): Add DWARF 3 names.
|
||||||
|
|
27
gdb/symtab.c
27
gdb/symtab.c
|
@ -385,6 +385,33 @@ gdb_mangle_name (struct type *type, int method_id, int signature_id)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Initialize the language dependent portion of a symbol
|
||||||
|
depending upon the language for the symbol. */
|
||||||
|
void
|
||||||
|
symbol_init_language_specific (struct general_symbol_info *gsymbol,
|
||||||
|
enum language language)
|
||||||
|
{
|
||||||
|
gsymbol->language = language;
|
||||||
|
if (gsymbol->language == language_cplus
|
||||||
|
|| gsymbol->language == language_java)
|
||||||
|
{
|
||||||
|
gsymbol->language_specific.cplus_specific.demangled_name = NULL;
|
||||||
|
}
|
||||||
|
else if (gsymbol->language == language_objc)
|
||||||
|
{
|
||||||
|
gsymbol->language_specific.objc_specific.demangled_name = NULL;
|
||||||
|
}
|
||||||
|
/* OBSOLETE else if (SYMBOL_LANGUAGE (symbol) == language_chill) */
|
||||||
|
/* OBSOLETE { */
|
||||||
|
/* OBSOLETE SYMBOL_CHILL_DEMANGLED_NAME (symbol) = NULL; */
|
||||||
|
/* OBSOLETE } */
|
||||||
|
else
|
||||||
|
{
|
||||||
|
memset (&gsymbol->language_specific, 0,
|
||||||
|
sizeof (gsymbol->language_specific));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Initialize a symbol's mangled name. */
|
/* Initialize a symbol's mangled name. */
|
||||||
|
|
||||||
/* Try to initialize the demangled name for a symbol, based on the
|
/* Try to initialize the demangled name for a symbol, based on the
|
||||||
|
|
30
gdb/symtab.h
30
gdb/symtab.h
|
@ -139,32 +139,12 @@ extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, asection *);
|
||||||
#define SYMBOL_CPLUS_DEMANGLED_NAME(symbol) \
|
#define SYMBOL_CPLUS_DEMANGLED_NAME(symbol) \
|
||||||
(symbol)->ginfo.language_specific.cplus_specific.demangled_name
|
(symbol)->ginfo.language_specific.cplus_specific.demangled_name
|
||||||
|
|
||||||
/* Macro that initializes the language dependent portion of a symbol
|
/* Initializes the language dependent portion of a symbol
|
||||||
depending upon the language for the symbol. */
|
depending upon the language for the symbol. */
|
||||||
|
#define SYMBOL_INIT_LANGUAGE_SPECIFIC(symbol,language) \
|
||||||
#define SYMBOL_INIT_LANGUAGE_SPECIFIC(symbol,language) \
|
(symbol_init_language_specific (&(symbol)->ginfo, (language)))
|
||||||
do { \
|
extern void symbol_init_language_specific (struct general_symbol_info *symbol,
|
||||||
SYMBOL_LANGUAGE (symbol) = language; \
|
enum language language);
|
||||||
if (SYMBOL_LANGUAGE (symbol) == language_cplus \
|
|
||||||
|| SYMBOL_LANGUAGE (symbol) == language_java \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
SYMBOL_CPLUS_DEMANGLED_NAME (symbol) = NULL; \
|
|
||||||
} \
|
|
||||||
else if (SYMBOL_LANGUAGE (symbol) == language_objc) \
|
|
||||||
{ \
|
|
||||||
SYMBOL_OBJC_DEMANGLED_NAME (symbol) = NULL; \
|
|
||||||
} \
|
|
||||||
/* OBSOLETE else if (SYMBOL_LANGUAGE (symbol) == language_chill) */ \
|
|
||||||
/* OBSOLETE { */ \
|
|
||||||
/* OBSOLETE SYMBOL_CHILL_DEMANGLED_NAME (symbol) = NULL; */ \
|
|
||||||
/* OBSOLETE } */ \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
memset (&(symbol)->ginfo.language_specific, 0, \
|
|
||||||
sizeof ((symbol)->ginfo.language_specific)); \
|
|
||||||
} \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define SYMBOL_INIT_DEMANGLED_NAME(symbol,obstack) \
|
#define SYMBOL_INIT_DEMANGLED_NAME(symbol,obstack) \
|
||||||
(symbol_init_demangled_name (&symbol->ginfo, (obstack)))
|
(symbol_init_demangled_name (&symbol->ginfo, (obstack)))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue