aboutsummaryrefslogtreecommitdiff
path: root/gdb/language.h
diff options
context:
space:
mode:
authorDavid Carlton <carlton@bactrian.org>2003-04-16 19:57:09 +0000
committerDavid Carlton <carlton@bactrian.org>2003-04-16 19:57:09 +0000
commit0bb428781c4782c6236beb58c06052dccd382aa1 (patch)
treec2745e3799c869e29769a81c22cc151fdbe84a97 /gdb/language.h
parent8ddfa96fcd388fb183d7aac8befd08c138e105dd (diff)
downloadgdb-0bb428781c4782c6236beb58c06052dccd382aa1.zip
gdb-0bb428781c4782c6236beb58c06052dccd382aa1.tar.gz
gdb-0bb428781c4782c6236beb58c06052dccd382aa1.tar.bz2
2003-04-16 David Carlton <carlton@bactrian.org>
* Merge with mainline; tag is carlton_dictionary-20030416-merge.
Diffstat (limited to 'gdb/language.h')
-rw-r--r--gdb/language.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/gdb/language.h b/gdb/language.h
index ab5e5d2..a873699 100644
--- a/gdb/language.h
+++ b/gdb/language.h
@@ -30,6 +30,8 @@
struct value;
struct objfile;
struct expression;
+struct ui_file;
+
/* enum exp_opcode; ANSI's `wisdom' didn't include forward enum decls. */
/* This used to be included to configure GDB for one or more specific
@@ -203,6 +205,15 @@ struct language_defn
int (*la_value_print) (struct value *, struct ui_file *,
int, enum val_prettyprint);
+ /* 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) (CORE_ADDR pc);
+
+ /* Return demangled language symbol, or NULL. */
+ char *(*la_demangle) (const char *mangled, int options);
+
/* Base 2 (binary) formats. */
struct language_format_info la_binary_format;
@@ -465,4 +476,12 @@ extern void add_language (const struct language_defn *);
extern enum language get_frame_language (void); /* In stack.c */
+/* Check for a language-specific trampoline. */
+
+extern CORE_ADDR skip_language_trampoline (CORE_ADDR pc);
+
+/* Return demangled language symbol, or NULL. */
+extern char *language_demangle (const struct language_defn *current_language,
+ const char *mangled, int options);
+
#endif /* defined (LANGUAGE_H) */