summaryrefslogtreecommitdiff
path: root/gdb/language.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/language.c')
-rw-r--r--gdb/language.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/language.c b/gdb/language.c
index cacaf3f7d1..c80237e6f9 100644
--- a/gdb/language.c
+++ b/gdb/language.c
@@ -730,6 +730,13 @@ symbol_name_matcher_ftype *
language_get_symbol_name_matcher (const language_defn *lang,
const lookup_name_info &lookup_name)
{
+ /* If currently in Ada mode, and the lookup name is wrapped in
+ '<...>', hijack all symbol name comparisons using the Ada
+ matcher, which handles the verbatim matching. */
+ if (current_language->la_language == language_ada
+ && lookup_name.ada ().verbatim_p ())
+ return current_language->la_get_symbol_name_matcher (lookup_name);
+
if (lang->la_get_symbol_name_matcher != nullptr)
return lang->la_get_symbol_name_matcher (lookup_name);
return default_symbol_name_matcher;