aboutsummaryrefslogtreecommitdiff
path: root/gdb/language.h
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2020-05-14 23:19:48 +0100
committerAndrew Burgess <andrew.burgess@embecosm.com>2020-06-02 13:53:11 +0100
commitf6eee2d098049afd18f90b8f4bb6a5d1a49d900c (patch)
tree50d744e8e9bb6fa77425b8d51e13ae8968b01c7e /gdb/language.h
parent0a50df5dabfe12c8bf20f4f724622ff38ef7828b (diff)
downloadgdb-f6eee2d098049afd18f90b8f4bb6a5d1a49d900c.zip
gdb-f6eee2d098049afd18f90b8f4bb6a5d1a49d900c.tar.gz
gdb-f6eee2d098049afd18f90b8f4bb6a5d1a49d900c.tar.bz2
gdb: Convert language skip_trampoline field to a method
This commit changes the language_data::skip_trampoline 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 skip_trampoline initializer. * c-lang.c (c_language_data): Likewise. (cplus_language_data): Likewise. (cplus_language::skip_trampoline): New member function. (asm_language_data): Delete skip_trampoline 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 (unk_lang_trampoline): Delete function. (skip_language_trampoline): Update. (unknown_language_data): Delete skip_trampoline initializer. (auto_language_data): Likewise. * language.h (language_data): Delete skip_trampoline field. (language_defn::skip_trampoline): New function. * m2-lang.c (m2_language_data): Delete skip_trampoline initializer. * objc-lang.c (objc_skip_trampoline): Delete function, move implementation to objc_language::skip_trampoline. (objc_language_data): Delete skip_trampoline initializer. (objc_language::skip_trampoline): New member function with implementation from objc_skip_trampoline. * opencl-lang.c (opencl_language_data): Delete skip_trampoline initializer. * p-lang.c (pascal_language_data): Likewise. * rust-lang.c (rust_language_data): Likewise.
Diffstat (limited to 'gdb/language.h')
-rw-r--r--gdb/language.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/gdb/language.h b/gdb/language.h
index c456189..05ad132 100644
--- a/gdb/language.h
+++ b/gdb/language.h
@@ -267,12 +267,6 @@ struct language_data
void (*la_value_print) (struct value *, struct ui_file *,
const struct value_print_options *);
- /* PC is possibly an unknown languages trampoline.
- If that PC falls in a trampoline belonging to this language,
- return the address of the first pc in the real function, or 0
- if it isn't a language tramp for this language. */
- CORE_ADDR (*skip_trampoline) (struct frame_info *, CORE_ADDR);
-
/* Now come some hooks for lookup_symbol. */
/* If this is non-NULL, specifies the name that of the implicit
@@ -520,6 +514,15 @@ struct language_defn : language_data
virtual void print_type (struct type *, const char *, struct ui_file *, int,
int, const struct type_print_options *) const = 0;
+ /* PC is possibly an unknown languages trampoline.
+ If that PC falls in a trampoline belonging to this language, return
+ the address of the first pc in the real function, or 0 if it isn't a
+ language tramp for this language. */
+ virtual CORE_ADDR skip_trampoline (struct frame_info *fi, CORE_ADDR pc) const
+ {
+ return (CORE_ADDR) 0;
+ }
+
/* List of all known languages. */
static const struct language_defn *languages[nr_languages];
};