diff options
-rw-r--r-- | gdb/cli/cli-script.h | 1 | ||||
-rw-r--r-- | gdb/compile/compile-object-load.h | 1 | ||||
-rw-r--r-- | gdb/compile/compile.h | 28 | ||||
-rw-r--r-- | gdb/defs.h | 28 |
4 files changed, 30 insertions, 28 deletions
diff --git a/gdb/cli/cli-script.h b/gdb/cli/cli-script.h index d36743e..512e37b 100644 --- a/gdb/cli/cli-script.h +++ b/gdb/cli/cli-script.h @@ -17,6 +17,7 @@ #ifndef CLI_CLI_SCRIPT_H #define CLI_CLI_SCRIPT_H +#include "compile/compile.h" #include "gdbsupport/function-view.h" struct ui_file; diff --git a/gdb/compile/compile-object-load.h b/gdb/compile/compile-object-load.h index eb6eb0d..83665b5 100644 --- a/gdb/compile/compile-object-load.h +++ b/gdb/compile/compile-object-load.h @@ -18,6 +18,7 @@ #define COMPILE_COMPILE_OBJECT_LOAD_H #include "compile-internal.h" +#include "compile.h" #include <list> struct munmap_list diff --git a/gdb/compile/compile.h b/gdb/compile/compile.h index d584df6..4be6f50 100644 --- a/gdb/compile/compile.h +++ b/gdb/compile/compile.h @@ -19,6 +19,7 @@ #define COMPILE_COMPILE_H #include "gcc-c-interface.h" +#include "gdbsupport/gdb-hashtab.h" struct ui_file; struct gdbarch; @@ -27,6 +28,33 @@ struct dwarf2_per_objfile; struct symbol; struct dynamic_prop; +/* Scope types enumerator. List the types of scopes the compiler will + accept. */ + +enum compile_i_scope_types + { + COMPILE_I_INVALID_SCOPE, + + /* A simple scope. Wrap an expression into a simple scope that + takes no arguments, returns no value, and uses the generic + function name "_gdb_expr". */ + + COMPILE_I_SIMPLE_SCOPE, + + /* Do not wrap the expression, + it has to provide function "_gdb_expr" on its own. */ + COMPILE_I_RAW_SCOPE, + + /* A printable expression scope. Wrap an expression into a scope + suitable for the "compile print" command. It uses the generic + function name "_gdb_expr". COMPILE_I_PRINT_ADDRESS_SCOPE variant + is the usual one, taking address of the object. + COMPILE_I_PRINT_VALUE_SCOPE is needed for arrays where the array + name already specifies its address. See get_out_value_type. */ + COMPILE_I_PRINT_ADDRESS_SCOPE, + COMPILE_I_PRINT_VALUE_SCOPE, + }; + /* An object of this type holds state associated with a given compilation job. */ @@ -63,34 +63,6 @@ #include "gdbsupport/enum-flags.h" #include "gdbsupport/array-view.h" -/* Scope types enumerator. List the types of scopes the compiler will - accept. */ - -enum compile_i_scope_types - { - COMPILE_I_INVALID_SCOPE, - - /* A simple scope. Wrap an expression into a simple scope that - takes no arguments, returns no value, and uses the generic - function name "_gdb_expr". */ - - COMPILE_I_SIMPLE_SCOPE, - - /* Do not wrap the expression, - it has to provide function "_gdb_expr" on its own. */ - COMPILE_I_RAW_SCOPE, - - /* A printable expression scope. Wrap an expression into a scope - suitable for the "compile print" command. It uses the generic - function name "_gdb_expr". COMPILE_I_PRINT_ADDRESS_SCOPE variant - is the usual one, taking address of the object. - COMPILE_I_PRINT_VALUE_SCOPE is needed for arrays where the array - name already specifies its address. See get_out_value_type. */ - COMPILE_I_PRINT_ADDRESS_SCOPE, - COMPILE_I_PRINT_VALUE_SCOPE, - }; - - template<typename T> using RequireLongest = gdb::Requires<gdb::Or<std::is_same<T, LONGEST>, std::is_same<T, ULONGEST>>>; |