aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2023-03-02 15:07:47 -0700
committerTom Tromey <tom@tromey.com>2024-01-28 10:58:16 -0700
commit271157878868b0549ea00aa5de6be813ae5d3663 (patch)
tree62440fd95a44193cd6d10b82c48e680008610c6c
parent6771fc6f1d9d1fada270fd617a71c8b1ac1efc84 (diff)
downloadgdb-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.def9
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)