diff options
author | Tom Tromey <tromey@adacore.com> | 2020-12-14 08:14:06 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2020-12-14 08:14:06 -0700 |
commit | 25a1127be7d6923904b2346ff76e7e9658620bf5 (patch) | |
tree | ad7729292a03fa5498abbeb71f73b6d016630a38 /gdb | |
parent | e26624c669037529816f89ce1b9c78954c389ca1 (diff) | |
download | gdb-25a1127be7d6923904b2346ff76e7e9658620bf5.zip gdb-25a1127be7d6923904b2346ff76e7e9658620bf5.tar.gz gdb-25a1127be7d6923904b2346ff76e7e9658620bf5.tar.bz2 |
Use exact match in get_var_value
get_var_value is only used when an exact match is needed. This
changes this function to ensure this sort of matching is done.
gdb/ChangeLog
2020-12-14 Tom Tromey <tromey@adacore.com>
* ada-lang.c (get_var_value): Only consider exact matches.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/ada-lang.c | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f87f6df..21a6b97 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,9 @@ 2020-12-14 Tom Tromey <tromey@adacore.com> + * ada-lang.c (get_var_value): Only consider exact matches. + +2020-12-14 Tom Tromey <tromey@adacore.com> + * dwarf2/read.c (rewrite_array_type): New function. (quirk_ada_thick_pointer_struct): Use rewrite_array_type. diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index b41d2bf..ca66642 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -11351,14 +11351,16 @@ scan_discrim_bound (const char *str, int k, struct value *dval, LONGEST * px, return 1; } -/* Value of variable named NAME in the current environment. If - no such variable found, then if ERR_MSG is null, returns 0, and +/* Value of variable named NAME. Only exact matches are considered. + If no such variable found, then if ERR_MSG is null, returns 0, and otherwise causes an error with message ERR_MSG. */ static struct value * get_var_value (const char *name, const char *err_msg) { - lookup_name_info lookup_name (name, symbol_name_match_type::FULL); + std::string quoted_name = add_angle_brackets (name); + + lookup_name_info lookup_name (quoted_name, symbol_name_match_type::FULL); std::vector<struct block_symbol> syms; int nsyms = ada_lookup_symbol_list_worker (lookup_name, |