diff options
author | Joel Brobecker <brobecker@gnat.com> | 2012-01-26 04:20:36 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2012-01-26 04:20:36 +0000 |
commit | 74ccd7f58b78303b1de7c7823d39821119592c20 (patch) | |
tree | 80d5cc92610d9679038af4766b25179729e3999c /gdb/symfile.h | |
parent | b8b196db1ef731b7d9de7f332dd745f3240d8623 (diff) | |
download | gdb-74ccd7f58b78303b1de7c7823d39821119592c20.zip gdb-74ccd7f58b78303b1de7c7823d39821119592c20.tar.gz gdb-74ccd7f58b78303b1de7c7823d39821119592c20.tar.bz2 |
Ada: allow unqualified function names in linespecs
This is the meat, where we replace the old la_symbol_name_compare
language method with the new ada_get_symbol_name_match_p.
It fixes the problem when trying to insert a breakpoint on "+".
gdb/ChangeLog:
* language.h (symbol_name_match_p_ftype): New typedef.
(struct language_defn): Replace field la_symbol_name_compare
by la_get_symbol_name_match_p.
* ada-lang.c (ada_get_symbol_name_match_p): New function.
(ada_language_defn): Use it.
* linespec.c (struct symbol_matcher_data): New type.
(iterate_name_matcher): Rewrite.
(iterate_over_all_matching_symtabs): Pass a pointer to
a symbol_matcher_data struct to expand_symtabs_matching
instead of just the lookup name.
* c-lang.c, d-lang.c, jv-lang.c, m2-lang.c, objc-lang.c,
opencl-lang.c, p-lang.c, language.c: Delete field
la_symbol_name_compare, and replace by NULL for new field
la_get_symbol_name_match_p.
* symfile.h (struct quick_symbol_functions): Update comment.
Diffstat (limited to 'gdb/symfile.h')
-rw-r--r-- | gdb/symfile.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gdb/symfile.h b/gdb/symfile.h index 6b664cd..7af6094 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -258,12 +258,10 @@ struct quick_symbol_functions file is skipped. If FILE_MATCHER is NULL such file is not skipped. Otherwise, if KIND does not match this symbol is skipped. - + If even KIND matches, then NAME_MATCHER is called for each symbol - defined in the file. The current language, the symbol name and - DATA are passed to NAME_MATCHER. The symbol "search" name should - be passed to NAME_MATCHER (see la_symbol_name_compare in struct - language_defn for more details on this). + defined in the file. The current language, the symbol "search" + name and DATA are passed to NAME_MATCHER. If NAME_MATCHER returns zero, then this symbol is skipped. |