gdb: Convert language la_lookup_transparent_type field to a method
This commit changes the language_data::la_lookup_transparent_type function pointer member variable into a member function of language_defn. There should be no user visible changes after this commit. gdb/ChangeLog: * ada-lang.c (ada_language_data): Delete la_lookup_transparent_type initializer. * c-lang.c (c_language_data): Likewise. (cplus_language_data): Likewise. (cplus_language::lookup_transparent_type): New member function. (asm_language_data): Delete la_lookup_transparent_type initializer. (minimal_language_data): Likewise. * d-lang.c (d_language_data): Likewise. * f-lang.c (f_language_data): Likewise. * go-lang.c (go_language_data): Likewise. * language.c (unknown_language_data): Likewise. (auto_language_data): Likewise. * language.h (struct language_data): Delete la_lookup_transparent_type field. (language_defn::lookup_transparent_type): New member function. * m2-lang.c (m2_language_data): Delete la_lookup_transparent_type initializer. * objc-lang.c (objc_language_data): Likewise. * opencl-lang.c (opencl_language_data): Likewise. * p-lang.c (pascal_language_data): Likewise. * rust-lang.c (rust_language_data): Likewise. * symtab.c (symbol_matches_domain): Update call.
This commit is contained in:
parent
1fb314aaa3
commit
54f4ca4610
|
@ -1,3 +1,29 @@
|
|||
2020-06-02 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* ada-lang.c (ada_language_data): Delete
|
||||
la_lookup_transparent_type initializer.
|
||||
* c-lang.c (c_language_data): Likewise.
|
||||
(cplus_language_data): Likewise.
|
||||
(cplus_language::lookup_transparent_type): New member function.
|
||||
(asm_language_data): Delete la_lookup_transparent_type
|
||||
initializer.
|
||||
(minimal_language_data): Likewise.
|
||||
* d-lang.c (d_language_data): Likewise.
|
||||
* f-lang.c (f_language_data): Likewise.
|
||||
* go-lang.c (go_language_data): Likewise.
|
||||
* language.c (unknown_language_data): Likewise.
|
||||
(auto_language_data): Likewise.
|
||||
* language.h (struct language_data): Delete
|
||||
la_lookup_transparent_type field.
|
||||
(language_defn::lookup_transparent_type): New member function.
|
||||
* m2-lang.c (m2_language_data): Delete la_lookup_transparent_type
|
||||
initializer.
|
||||
* objc-lang.c (objc_language_data): Likewise.
|
||||
* opencl-lang.c (opencl_language_data): Likewise.
|
||||
* p-lang.c (pascal_language_data): Likewise.
|
||||
* rust-lang.c (rust_language_data): Likewise.
|
||||
* symtab.c (symbol_matches_domain): Update call.
|
||||
|
||||
2020-06-02 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* ada-lang.c (ada_language_arch_info): Delete function, move
|
||||
|
|
|
@ -13988,7 +13988,6 @@ extern const struct language_data ada_language_data =
|
|||
NULL, /* name_of_this */
|
||||
true, /* la_store_sym_names_in_linkage_form_p */
|
||||
ada_lookup_symbol_nonlocal, /* Looking up non-local symbols. */
|
||||
basic_lookup_transparent_type, /* lookup_transparent_type */
|
||||
ada_la_decode, /* Language specific symbol demangler */
|
||||
ada_sniff_from_mangled_name,
|
||||
NULL, /* Language specific
|
||||
|
|
10
gdb/c-lang.c
10
gdb/c-lang.c
|
@ -911,7 +911,6 @@ extern const struct language_data c_language_data =
|
|||
NULL, /* name_of_this */
|
||||
true, /* la_store_sym_names_in_linkage_form_p */
|
||||
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
NULL, /* Language specific symbol demangler */
|
||||
NULL,
|
||||
NULL, /* Language specific
|
||||
|
@ -1012,7 +1011,6 @@ extern const struct language_data cplus_language_data =
|
|||
"this", /* name_of_this */
|
||||
false, /* la_store_sym_names_in_linkage_form_p */
|
||||
cp_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
cp_lookup_transparent_type, /* lookup_transparent_type */
|
||||
gdb_demangle, /* Language specific symbol demangler */
|
||||
gdb_sniff_from_mangled_name,
|
||||
cp_class_name_from_physname, /* Language specific
|
||||
|
@ -1112,6 +1110,12 @@ public:
|
|||
lai->bool_type_symbol = "bool";
|
||||
lai->bool_type_default = builtin->builtin_bool;
|
||||
}
|
||||
|
||||
/* See language.h. */
|
||||
struct type *lookup_transparent_type (const char *name) const override
|
||||
{
|
||||
return cp_lookup_transparent_type (name);
|
||||
}
|
||||
};
|
||||
|
||||
/* The single instance of the C++ language class. */
|
||||
|
@ -1149,7 +1153,6 @@ extern const struct language_data asm_language_data =
|
|||
NULL, /* name_of_this */
|
||||
true, /* la_store_sym_names_in_linkage_form_p */
|
||||
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
NULL, /* Language specific symbol demangler */
|
||||
NULL,
|
||||
NULL, /* Language specific
|
||||
|
@ -1221,7 +1224,6 @@ extern const struct language_data minimal_language_data =
|
|||
NULL, /* name_of_this */
|
||||
true, /* la_store_sym_names_in_linkage_form_p */
|
||||
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
NULL, /* Language specific symbol demangler */
|
||||
NULL,
|
||||
NULL, /* Language specific
|
||||
|
|
|
@ -165,7 +165,6 @@ extern const struct language_data d_language_data =
|
|||
"this",
|
||||
false, /* la_store_sym_names_in_linkage_form_p */
|
||||
d_lookup_symbol_nonlocal,
|
||||
basic_lookup_transparent_type,
|
||||
d_demangle, /* Language specific symbol demangler. */
|
||||
d_sniff_from_mangled_name,
|
||||
NULL, /* Language specific
|
||||
|
|
|
@ -616,7 +616,6 @@ extern const struct language_data f_language_data =
|
|||
NULL, /* name_of_this */
|
||||
false, /* la_store_sym_names_in_linkage_form_p */
|
||||
cp_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
|
||||
/* We could support demangling here to provide module namespaces
|
||||
also for inferiors with only minimal symbol table (ELF symbols).
|
||||
|
|
|
@ -550,7 +550,6 @@ extern const struct language_data go_language_data =
|
|||
NULL, /* name_of_this */
|
||||
false, /* la_store_sym_names_in_linkage_form_p */
|
||||
basic_lookup_symbol_nonlocal,
|
||||
basic_lookup_transparent_type,
|
||||
go_demangle, /* Language specific symbol demangler. */
|
||||
go_sniff_from_mangled_name,
|
||||
NULL, /* Language specific
|
||||
|
|
|
@ -827,7 +827,6 @@ extern const struct language_data unknown_language_data =
|
|||
"this", /* name_of_this */
|
||||
true, /* store_sym_names_in_linkage_form_p */
|
||||
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
unk_lang_demangle, /* Language specific symbol demangler */
|
||||
NULL,
|
||||
unk_lang_class_name, /* Language specific
|
||||
|
@ -895,7 +894,6 @@ extern const struct language_data auto_language_data =
|
|||
"this", /* name_of_this */
|
||||
false, /* store_sym_names_in_linkage_form_p */
|
||||
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
unk_lang_demangle, /* Language specific symbol demangler */
|
||||
NULL,
|
||||
unk_lang_class_name, /* Language specific
|
||||
|
|
|
@ -315,9 +315,6 @@ struct language_data
|
|||
const struct block *,
|
||||
const domain_enum);
|
||||
|
||||
/* Find the definition of the type with the given name. */
|
||||
struct type *(*la_lookup_transparent_type) (const char *);
|
||||
|
||||
/* Return demangled language symbol, or NULL. */
|
||||
char *(*la_demangle) (const char *mangled, int options);
|
||||
|
||||
|
@ -504,6 +501,13 @@ struct language_defn : language_data
|
|||
virtual void language_arch_info (struct gdbarch *,
|
||||
struct language_arch_info *) const = 0;
|
||||
|
||||
/* Find the definition of the type with the given name. */
|
||||
|
||||
virtual struct type *lookup_transparent_type (const char *name) const
|
||||
{
|
||||
return basic_lookup_transparent_type (name);
|
||||
}
|
||||
|
||||
/* List of all known languages. */
|
||||
static const struct language_defn *languages[nr_languages];
|
||||
};
|
||||
|
|
|
@ -375,7 +375,6 @@ extern const struct language_data m2_language_data =
|
|||
NULL, /* name_of_this */
|
||||
false, /* la_store_sym_names_in_linkage_form_p */
|
||||
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
NULL, /* Language specific symbol demangler */
|
||||
NULL,
|
||||
NULL, /* Language specific
|
||||
|
|
|
@ -390,7 +390,6 @@ extern const struct language_data objc_language_data =
|
|||
"self", /* name_of_this */
|
||||
false, /* la_store_sym_names_in_linkage_form_p */
|
||||
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
objc_demangle, /* Language specific symbol demangler */
|
||||
objc_sniff_from_mangled_name,
|
||||
NULL, /* Language specific
|
||||
|
|
|
@ -1050,7 +1050,6 @@ extern const struct language_data opencl_language_data =
|
|||
NULL, /* name_of_this */
|
||||
false, /* la_store_sym_names_in_linkage_form_p */
|
||||
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
NULL, /* Language specific symbol demangler */
|
||||
NULL,
|
||||
NULL, /* Language specific
|
||||
|
|
|
@ -406,7 +406,6 @@ extern const struct language_data pascal_language_data =
|
|||
"this", /* name_of_this */
|
||||
false, /* la_store_sym_names_in_linkage_form_p */
|
||||
basic_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
NULL, /* Language specific symbol demangler */
|
||||
NULL,
|
||||
NULL, /* Language specific class_name_from_physname */
|
||||
|
|
|
@ -2082,7 +2082,6 @@ extern const struct language_data rust_language_data =
|
|||
NULL, /* name_of_this */
|
||||
false, /* la_store_sym_names_in_linkage_form_p */
|
||||
rust_lookup_symbol_nonlocal, /* lookup_symbol_nonlocal */
|
||||
basic_lookup_transparent_type,/* lookup_transparent_type */
|
||||
gdb_demangle, /* Language specific symbol demangler */
|
||||
rust_sniff_from_mangled_name,
|
||||
NULL, /* Language specific
|
||||
|
|
|
@ -2722,7 +2722,7 @@ symbol_matches_domain (enum language symbol_language,
|
|||
struct type *
|
||||
lookup_transparent_type (const char *name)
|
||||
{
|
||||
return current_language->la_lookup_transparent_type (name);
|
||||
return current_language->lookup_transparent_type (name);
|
||||
}
|
||||
|
||||
/* A helper for basic_lookup_transparent_type that interfaces with the
|
||||
|
|
Loading…
Reference in New Issue