2012-06-02 Sergio Durigan Junior <sergiodj@redhat.com>
* symtab.c (symbol_demangled_name): New variable `dem_name'. Use it to optimize resolution of demangled name.
This commit is contained in:
parent
124d95f6ca
commit
c6e5ee5efa
2 changed files with 12 additions and 7 deletions
|
@ -1,3 +1,8 @@
|
|||
2012-06-02 Sergio Durigan Junior <sergiodj@redhat.com>
|
||||
|
||||
* symtab.c (symbol_demangled_name): New variable `dem_name'. Use
|
||||
it to optimize resolution of demangled name.
|
||||
|
||||
2012-06-01 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* configure.ac (development): Define new variable.
|
||||
|
|
14
gdb/symtab.c
14
gdb/symtab.c
|
@ -850,6 +850,8 @@ symbol_natural_name (const struct general_symbol_info *gsymbol)
|
|||
const char *
|
||||
symbol_demangled_name (const struct general_symbol_info *gsymbol)
|
||||
{
|
||||
const char *dem_name = NULL;
|
||||
|
||||
switch (gsymbol->language)
|
||||
{
|
||||
case language_cplus:
|
||||
|
@ -858,19 +860,17 @@ symbol_demangled_name (const struct general_symbol_info *gsymbol)
|
|||
case language_java:
|
||||
case language_objc:
|
||||
case language_fortran:
|
||||
if (symbol_get_demangled_name (gsymbol) != NULL)
|
||||
return symbol_get_demangled_name (gsymbol);
|
||||
dem_name = symbol_get_demangled_name (gsymbol);
|
||||
break;
|
||||
case language_ada:
|
||||
if (symbol_get_demangled_name (gsymbol) != NULL)
|
||||
return symbol_get_demangled_name (gsymbol);
|
||||
else
|
||||
return ada_decode_symbol (gsymbol);
|
||||
dem_name = symbol_get_demangled_name (gsymbol);
|
||||
if (dem_name == NULL)
|
||||
dem_name = ada_decode_symbol (gsymbol);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return NULL;
|
||||
return dem_name;
|
||||
}
|
||||
|
||||
/* Return the search name of a symbol---generally the demangled or
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue