* dwarf2read.c (dwarf2_name): Initialize DEMANGLED.  Avoid demangling
	struct linkage name twice.
This commit is contained in:
Jan Kratochvil 2011-03-31 19:37:54 +00:00
parent 1dae3efc56
commit df5c6c5031
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2011-03-31 Jan Kratochvil <jan.kratochvil@redhat.com>
* dwarf2read.c (dwarf2_name): Initialize DEMANGLED. Avoid demangling
struct linkage name twice.
2011-03-31 Tom Tromey <tromey@redhat.com> 2011-03-31 Tom Tromey <tromey@redhat.com>
* python/py-prettyprint.c (print_stack_unless_memory_error): Add * python/py-prettyprint.c (print_stack_unless_memory_error): Add

View File

@ -12043,7 +12043,7 @@ dwarf2_name (struct die_info *die, struct dwarf2_cu *cu)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47510. */ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47510. */
if (!attr || DW_STRING (attr) == NULL) if (!attr || DW_STRING (attr) == NULL)
{ {
char *demangled; char *demangled = NULL;
attr = dwarf2_attr (die, DW_AT_linkage_name, cu); attr = dwarf2_attr (die, DW_AT_linkage_name, cu);
if (attr == NULL) if (attr == NULL)
@ -12052,7 +12052,10 @@ dwarf2_name (struct die_info *die, struct dwarf2_cu *cu)
if (attr == NULL || DW_STRING (attr) == NULL) if (attr == NULL || DW_STRING (attr) == NULL)
return NULL; return NULL;
demangled = cplus_demangle (DW_STRING (attr), DMGL_TYPES); /* Avoid demangling DW_STRING (attr) the second time on a second
call for the same DIE. */
if (!DW_STRING_IS_CANONICAL (attr))
demangled = cplus_demangle (DW_STRING (attr), DMGL_TYPES);
if (demangled) if (demangled)
{ {