diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2022-12-13 22:34:30 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2023-01-20 14:48:56 -0500 |
commit | 6ad66f21fc6d839966abfb84738f8e992c7bb193 (patch) | |
tree | be36f3602fea8636c5a26c7a05075606e9825dfc /gdb/compile/compile-internal.h | |
parent | c85555b1a8676145695cf5783df4d95c509ed82f (diff) | |
download | gdb-6ad66f21fc6d839966abfb84738f8e992c7bb193.zip gdb-6ad66f21fc6d839966abfb84738f8e992c7bb193.tar.gz gdb-6ad66f21fc6d839966abfb84738f8e992c7bb193.tar.bz2 |
gdb: move compile_instance to compile/compile.h
struct compile_instance needs to be visible to users, since we use
std::unique<compile_instance>. language.c and c-lang.c currently
includes compile-internal.h for this reason, which kind of defeats the
purpose of having an "internal" header file.
Change-Id: Iedffe5f1173b3de7bdc1be533ee2a68e6f6c549f
Reviewed-By: Bruno Larsen <blarsen@redhat.com>
Diffstat (limited to 'gdb/compile/compile-internal.h')
-rw-r--r-- | gdb/compile/compile-internal.h | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/gdb/compile/compile-internal.h b/gdb/compile/compile-internal.h index c86d22b..ecf7c11 100644 --- a/gdb/compile/compile-internal.h +++ b/gdb/compile/compile-internal.h @@ -24,122 +24,6 @@ extern bool compile_debug; -struct block; - -/* An object of this type holds state associated with a given - compilation job. */ - -class compile_instance -{ -public: - compile_instance (struct gcc_base_context *gcc_fe, const char *options); - - virtual ~compile_instance () - { - m_gcc_fe->ops->destroy (m_gcc_fe); - } - - /* Returns the GCC options to be passed during compilation. */ - const std::string &gcc_target_options () const - { - return m_gcc_target_options; - } - - /* Query the type cache for TYPE, returning the compiler's - type for it in RET. */ - bool get_cached_type (struct type *type, gcc_type *ret) const; - - /* Insert GCC_TYPE into the type cache for TYPE. - - It is ok for a given type to be inserted more than once, provided that - the exact same association is made each time. */ - void insert_type (struct type *type, gcc_type gcc_type); - - /* Associate SYMBOL with some error text. */ - void insert_symbol_error (const struct symbol *sym, const char *text); - - /* Emit the error message corresponding to SYM, if one exists, and - arrange for it not to be emitted again. */ - void error_symbol_once (const struct symbol *sym); - - /* These currently just forward to the underlying ops - vtable. */ - - /* Set the plug-in print callback. */ - void set_print_callback (void (*print_function) (void *, const char *), - void *datum); - - /* Return the plug-in's front-end version. */ - unsigned int version () const; - - /* Set the plug-in's verbosity level. Nop for GCC_FE_VERSION_0. */ - void set_verbose (int level); - - /* Set the plug-in driver program. Nop for GCC_FE_VERSION_0. */ - void set_driver_filename (const char *filename); - - /* Set the regular expression used to match the configury triplet - prefix to the compiler. Nop for GCC_FE_VERSION_0. */ - void set_triplet_regexp (const char *regexp); - - /* Set compilation arguments. REGEXP is only used for protocol - version GCC_FE_VERSION_0. */ - gdb::unique_xmalloc_ptr<char> set_arguments (int argc, char **argv, - const char *regexp = NULL); - - /* Set the filename of the program to compile. Nop for GCC_FE_VERSION_0. */ - void set_source_file (const char *filename); - - /* Compile the previously specified source file to FILENAME. - VERBOSE_LEVEL is only used for protocol version GCC_FE_VERSION_0. */ - bool compile (const char *filename, int verbose_level = -1); - - /* Set the scope type for this compile. */ - void set_scope (enum compile_i_scope_types scope) - { - m_scope = scope; - } - - /* Return the scope type. */ - enum compile_i_scope_types scope () const - { - return m_scope; - } - - /* Set the block to be used for symbol searches. */ - void set_block (const struct block *block) - { - m_block = block; - } - - /* Return the search block. */ - const struct block *block () const - { - return m_block; - } - -protected: - - /* The GCC front end. */ - struct gcc_base_context *m_gcc_fe; - - /* The "scope" of this compilation. */ - enum compile_i_scope_types m_scope; - - /* The block in which an expression is being parsed. */ - const struct block *m_block; - - /* Specify "-std=gnu11", "-std=gnu++11" or similar. These options are put - after CU's DW_AT_producer compilation options to override them. */ - std::string m_gcc_target_options; - - /* Map from gdb types to gcc types. */ - htab_up m_type_map; - - /* Map from gdb symbols to gcc error messages to emit. */ - htab_up m_symbol_err_map; -}; - /* Define header and footers for different scopes. */ /* A simple scope just declares a function named "_gdb_expr", takes no |