diff options
author | Tom Tromey <tom@tromey.com> | 2023-03-30 23:00:26 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2024-01-28 10:58:16 -0700 |
commit | ccf41c248737eb6650211481366c4e1156ce01ae (patch) | |
tree | 55933f48a150085e0df7728b4f82047977559a88 /gdb/guile | |
parent | 6c0152149476085e6c4c5c812bfc3a06fff7c938 (diff) | |
download | binutils-ccf41c248737eb6650211481366c4e1156ce01ae.zip binutils-ccf41c248737eb6650211481366c4e1156ce01ae.tar.gz binutils-ccf41c248737eb6650211481366c4e1156ce01ae.tar.bz2 |
Use domain_search_flags in lookup_symbol et al
This changes lookup_symbol and associated APIs to accept
domain_search_flags rather than a domain_enum.
Note that this introduces some new constants to Python and Guile. I
chose to break out the documentation patch for this, because the
internals here do not change until a later patch, and it seemed
simpler to patch the docs just once, rather than twice.
Diffstat (limited to 'gdb/guile')
-rw-r--r-- | gdb/guile/scm-frame.c | 2 | ||||
-rw-r--r-- | gdb/guile/scm-symbol.c | 17 |
2 files changed, 11 insertions, 8 deletions
diff --git a/gdb/guile/scm-frame.c b/gdb/guile/scm-frame.c index 60bacdd..b133e8d 100644 --- a/gdb/guile/scm-frame.c +++ b/gdb/guile/scm-frame.c @@ -937,7 +937,7 @@ gdbscm_frame_read_var (SCM self, SCM symbol_scm, SCM rest) if (block == NULL) block = get_frame_block (frame_info_ptr (frame), NULL); - lookup_sym = lookup_symbol (var_name.get (), block, VAR_DOMAIN, + lookup_sym = lookup_symbol (var_name.get (), block, SEARCH_VFT, NULL); var = lookup_sym.symbol; block = lookup_sym.block; diff --git a/gdb/guile/scm-symbol.c b/gdb/guile/scm-symbol.c index bf5fe24..7061ff5 100644 --- a/gdb/guile/scm-symbol.c +++ b/gdb/guile/scm-symbol.c @@ -617,7 +617,8 @@ gdbscm_lookup_symbol (SCM name_scm, SCM rest) gdbscm_gdb_exception except {}; try { - symbol = lookup_symbol (name, block, (domain_enum) domain, + domain_search_flags flags = from_scripting_domain (domain); + symbol = lookup_symbol (name, block, flags, &is_a_field_of_this).symbol; } catch (const gdb_exception &ex) @@ -654,7 +655,8 @@ gdbscm_lookup_global_symbol (SCM name_scm, SCM rest) try { - symbol = lookup_global_symbol (name, NULL, (domain_enum) domain).symbol; + domain_search_flags flags = from_scripting_domain (domain); + symbol = lookup_global_symbol (name, NULL, flags).symbol; } catch (const gdb_exception &ex) { @@ -696,14 +698,15 @@ static const scheme_integer_constant symbol_integer_constants[] = #undef X #define DOMAIN(X) \ - { "SYMBOL_" #X "_DOMAIN", X ## _DOMAIN }, + { "SYMBOL_" #X "_DOMAIN", to_scripting_domain (X ## _DOMAIN) }, \ + { "SEARCH_" #X "_DOMAIN", to_scripting_domain (SEARCH_ ## X ## _DOMAIN) }, #include "sym-domains.def" #undef DOMAIN - /* These were never correct. */ - { "SYMBOL_VARIABLES_DOMAIN", VAR_DOMAIN }, - { "SYMBOL_FUNCTIONS_DOMAIN", VAR_DOMAIN }, - { "SYMBOL_TYPES_DOMAIN", VAR_DOMAIN }, + /* Historical. */ + { "SYMBOL_VARIABLES_DOMAIN", to_scripting_domain (SEARCH_VAR_DOMAIN) }, + { "SYMBOL_FUNCTIONS_DOMAIN", to_scripting_domain (SEARCH_FUNCTION_DOMAIN) }, + { "SYMBOL_TYPES_DOMAIN", to_scripting_domain (SEARCH_TYPE_DOMAIN) }, END_INTEGER_CONSTANTS }; |