summaryrefslogtreecommitdiff
path: root/gdb/symtab.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-07-13 15:03:27 -0600
committerTom Tromey <tom@tromey.com>2017-07-14 10:16:39 -0600
commit65547233e04b32e087f74f8f5e9d3ffb6fe2c198 (patch)
treeeab7e58cd431d01c48bce4ac30e00b1a98c62e4e /gdb/symtab.c
parent8f14146e1317b7b416ce298fad1a4f3d1ccbeb2b (diff)
Make gdb.lookup_typename work for Rust types
PR rust/21763 points out that gdb.lookup_typename does not work properly for (some) Rust types. I tracked this down to a missing case in symbol_matches_domain. Tested by the buildbot. 2017-07-14 Tom Tromey <tom@tromey.com> PR rust/21763: * symtab.c (symbol_matches_domain): Add language_rust to special case. * rust-exp.y (convert_ast_to_expression) <OP_VAR_VALUE>: Don't treat LOC_TYPEDEF symbols as variables. 2017-07-14 Tom Tromey <tom@tromey.com> * gdb.rust/simple.exp: Add regression test for PR rust/21763.
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r--gdb/symtab.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c
index c7f1311c70..519b7dd6f2 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -2625,7 +2625,8 @@ symbol_matches_domain (enum language symbol_language,
Similarly, any Ada type declaration implicitly defines a typedef. */
if (symbol_language == language_cplus
|| symbol_language == language_d
- || symbol_language == language_ada)
+ || symbol_language == language_ada
+ || symbol_language == language_rust)
{
if ((domain == VAR_DOMAIN || domain == STRUCT_DOMAIN)
&& symbol_domain == STRUCT_DOMAIN)