gdb: Convert language la_get_compile_instance field to a method
This commit changes the language_data::la_get_compile_instance function pointer member variable into a member function of language_defn. Unlike previous commits converting fields of language_data to member function in language_defn, this field is NULL for some languages. As a result I had to change the API slightly so that the base language_defn class provides an implementation. There should be no user visible changes after this commit. gdb/ChangeLog: * ada-lang.c (ada_language_data): Delete la_get_compile_instance initializer. * c-lang.c (class compile_instance): Declare. (c_language_data): Delete la_get_compile_instance initializer. (c_language::get_compile_instance): New member function. (cplus_language_data): Delete la_get_compile_instance initializer. (cplus_language::get_compile_instance): New member function. (asm_language_data): Delete la_get_compile_instance initializer. (minimal_language_data): Likewise. * c-lang.h (c_get_compile_context): Update comment. (cplus_get_compile_context): Update comment. * compile/compile.c (compile_to_object): Update calls, don't rely on function pointer being NULL. * d-lang.c (d_language_data): Delete la_get_compile_instance initializer. * 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 (language_data): Delete la_get_compile_instance field. (language_defn::get_compile_instance): New member function. * m2-lang.c (m2_language_data): Delete la_get_compile_instance 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.
This commit is contained in:
parent
4009ee92c4
commit
8e25bafe93
15 changed files with 62 additions and 32 deletions
|
@ -157,7 +157,7 @@ extern int c_textual_element_type (struct type *, char);
|
|||
compiler is owned by the caller and must be freed using the destroy
|
||||
method. This function never returns NULL, but rather throws an
|
||||
exception on failure. This is suitable for use as the
|
||||
la_get_compile_instance language method. */
|
||||
language_defn::get_compile_instance method. */
|
||||
|
||||
extern compile_instance *c_get_compile_context (void);
|
||||
|
||||
|
@ -165,7 +165,7 @@ extern compile_instance *c_get_compile_context (void);
|
|||
compiler is owned by the caller and must be freed using the destroy
|
||||
method. This function never returns NULL, but rather throws an
|
||||
exception on failure. This is suitable for use as the
|
||||
la_get_compile_instance language method. */
|
||||
language_defn::get_compile_instance method. */
|
||||
|
||||
extern compile_instance *cplus_get_compile_context ();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue