diff options
author | Tom Tromey <tom@tromey.com> | 2023-03-02 15:07:47 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2024-01-28 10:58:16 -0700 |
commit | 271157878868b0549ea00aa5de6be813ae5d3663 (patch) | |
tree | 62440fd95a44193cd6d10b82c48e680008610c6c | |
parent | 6771fc6f1d9d1fada270fd617a71c8b1ac1efc84 (diff) | |
download | gdb-271157878868b0549ea00aa5de6be813ae5d3663.zip gdb-271157878868b0549ea00aa5de6be813ae5d3663.tar.gz gdb-271157878868b0549ea00aa5de6be813ae5d3663.tar.bz2 |
Add two new symbol domains
This adds two new symbol domain constants, TYPE_DOMAIN and
FUNCTION_DOMAIN.
Historically, gdb was a C debugger, and the symbol tables continue to
reflect this. In particular, symbol domains match the C language,
with VAR_DOMAIN including variables, functions, and types.
However, other languages have other approaches to namespacing. And,
in any case, it is often useful for other parts of gdb to be able to
distinguish between some domains at lookup time, without resorting to
examining a symbol's location -- in some situations, this sort of
filtering happens too late.
Nothing uses these new domains yet, but the idea behind the patch is
to separate symbols into more domains and then let the
language-specific parts of gdb implement their semantics in terms of
these categories.
-rw-r--r-- | gdb/sym-domains.def | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/sym-domains.def b/gdb/sym-domains.def index 251c66f..cea25a5 100644 --- a/gdb/sym-domains.def +++ b/gdb/sym-domains.def @@ -45,3 +45,12 @@ DOMAIN (LABEL) /* Fortran common blocks. Their naming must be separate from VAR_DOMAIN. They also always use LOC_COMMON_BLOCK. */ DOMAIN (COMMON_BLOCK) + +/* TYPE_DOMAIN is for types and typedefs. Note that tags are not + found here, see STRUCT_DOMAIN above. */ + +DOMAIN (TYPE) + +/* FUNCTION_DOMAIN is for functions and methods. */ + +DOMAIN (FUNCTION) |