diff options
Diffstat (limited to 'gdb/language.h')
-rw-r--r-- | gdb/language.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gdb/language.h b/gdb/language.h index 73619ca..9ed7e22 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -35,6 +35,7 @@ struct value_print_options; struct type_print_options; struct lang_varobj_ops; struct parser_state; +struct compile_instance; #define MAX_FORTRAN_DIMS 7 /* Maximum number of F77 array dims. */ @@ -355,6 +356,36 @@ struct language_defn /* Various operations on varobj. */ const struct lang_varobj_ops *la_varobj_ops; + /* If this language allows compilation from the gdb command line, + this method should be non-NULL. When called it should return + an instance of struct gcc_context appropriate to the language. + When defined this method must never return NULL; instead it + should throw an exception on failure. The returned compiler + instance is owned by its caller and must be deallocated by + calling its 'destroy' method. */ + + struct compile_instance *(*la_get_compile_instance) (void); + + /* This method must be defined if 'la_get_gcc_context' is defined. + If 'la_get_gcc_context' is not defined, then this method is + ignored. + + This takes the user-supplied text and returns a newly malloc'd + bit of code to compile. The caller owns the result. + + INST is the compiler instance being used. + INPUT is the user's input text. + GDBARCH is the architecture to use. + EXPR_BLOCK is the block in which the expression is being + parsed. + EXPR_PC is the PC at which the expression is being parsed. */ + + char *(*la_compute_program) (struct compile_instance *inst, + const char *input, + struct gdbarch *gdbarch, + const struct block *expr_block, + CORE_ADDR expr_pc); + /* Add fields above this point, so the magic number is always last. */ /* Magic number for compat checking. */ |