aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2009-03-31 20:21:08 +0000
committerTom Tromey <tromey@redhat.com>2009-03-31 20:21:08 +0000
commit71c25deab3d61e4cfbaffc7006704a27d1bc0737 (patch)
tree197ec5630b7db57b6f8d1cf23309bed4047417c2 /gdb/symtab.c
parent45ac276db3f6ee73f955254e5ef055c673b5fbb3 (diff)
downloadgdb-71c25deab3d61e4cfbaffc7006704a27d1bc0737.zip
gdb-71c25deab3d61e4cfbaffc7006704a27d1bc0737.tar.gz
gdb-71c25deab3d61e4cfbaffc7006704a27d1bc0737.tar.bz2
gdb
2009-03-31 Daniel Jacobowitz <dan@codesourcery.com> Keith Seitz <keiths@redhat.com> Jan Kratochvil <jan.kratochvil@redhat.com> PR gdb/6817 * Makefile.in (dbxread.o): Update. * dbxread.c (read_dbx_symtab): Use cp_canonicalize_string. * dwarf2read.c (GDB_FORM_cached_string): New. (read_partial_die): Use dwarf2_canonicalize_name. (dwarf2_linkage_name): Use dwarf2_name. (dwarf2_canonicalize_name): New. (dwarf2_name): Use dwarf2_canonicalize_name. (dwarf_form_name, dump_die): Handle GDB_FORM_cached_string. * stabsread.c (define_symbol, read_type): Use cp_canonicalize_string. * symtab.c (lookup_symbol_in_language): Canonicalize input before searching. * cp-name-parser.y: operator() requires two parameters, according to libiberty. * minsyms.c (lookup_minimal_symbol): Canonicalize input before searching. * NEWS: Update. gdb/testsuite 2009-03-31 Daniel Jacobowitz <dan@codesourcery.com> Jan Kratochvil <jan.kratochvil@redhat.com> PR gdb/931 * gdb.cp/gdb1355.exp (f_li, f_lui, f_si, f_sui): Allow canonical output. * gdb.cp/templates.exp: Allow canonical output. Remove KFAILs for gdb/931. * dw2-strp.S (DW_AT_language): Change to C++. (DW_TAG_variable (name ""), Abbrev code 7, .Lemptyname): New.
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r--gdb/symtab.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 7fff68a..622ddd3 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -55,6 +55,7 @@
#include "gdb_stat.h"
#include <ctype.h>
#include "cp-abi.h"
+#include "cp-support.h"
#include "observer.h"
#include "gdb_assert.h"
#include "solist.h"
@@ -1213,6 +1214,17 @@ lookup_symbol_in_language (const char *name, const struct block *block,
modified_name = demangled_name;
make_cleanup (xfree, demangled_name);
}
+ else
+ {
+ /* If we were given a non-mangled name, canonicalize it
+ according to the language (so far only for C++). */
+ demangled_name = cp_canonicalize_string (name);
+ if (demangled_name)
+ {
+ modified_name = demangled_name;
+ make_cleanup (xfree, demangled_name);
+ }
+ }
}
else if (lang == language_java)
{