aboutsummaryrefslogtreecommitdiff
path: root/gdb/ada-lang.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/ada-lang.c')
-rw-r--r--gdb/ada-lang.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 4751b6e..c898ccb 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -13572,10 +13572,16 @@ do_full_match (const char *symbol_search_name,
const lookup_name_info &lookup_name,
completion_match_result *comp_match_res)
{
- if (startswith (symbol_search_name, "_ada_"))
+ const char *lname = lookup_name.ada ().lookup_name ().c_str ();
+
+ /* If both symbols start with "_ada_", just let the loop below
+ handle the comparison. However, if only the symbol name starts
+ with "_ada_", skip the prefix and let the match proceed as
+ usual. */
+ if (startswith (symbol_search_name, "_ada_")
+ && !startswith (lname, "_ada"))
symbol_search_name += 5;
- const char *lname = lookup_name.ada ().lookup_name ().c_str ();
int uscore_count = 0;
while (*lname != '\0')
{