From cf724bc93ee954a6f7aac0557afc41c1316dc80c Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 17 Nov 2017 12:05:58 -0700 Subject: Use an enum to represent subclasses of symbol This changes struct symbol to use an enum to encode the concrete subclass of a particular symbol. Note that "enum class" doesn't work properly with bitfields, so a plain enum is used. 2017-11-17 Tom Tromey * symtab.h (enum symbol_subclass_kind): New. (struct symbol) : Remove. : New member. (SYMBOL_IS_CPLUS_TEMPLATE_FUNCTION): Update. * rust-lang.c (rust_get_trait_object_pointer): Update. * dwarf2read.c (read_func_scope): Update. (read_variable): Update. --- gdb/rust-lang.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gdb/rust-lang.c') diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c index 832f77f..f3562e0 100644 --- a/gdb/rust-lang.c +++ b/gdb/rust-lang.c @@ -421,7 +421,7 @@ rust_get_trait_object_pointer (struct value *value) CORE_ADDR vtable = value_as_address (value_field (value, vtable_field)); struct symbol *symbol = find_symbol_at_address (vtable); - if (symbol == NULL || !symbol->is_rust_vtable) + if (symbol == NULL || symbol->subclass != SYMBOL_RUST_VTABLE) return NULL; struct rust_vtable_symbol *vtable_sym -- cgit v1.1