/* Symbol domains -*- c++ -*- Copyright (C) 2023 Free Software Foundation, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* UNDEF_DOMAIN is used when a domain has not been discovered or none of the following apply. This usually indicates an error either in the symbol information or in gdb's handling of symbols. */ SYM_DOMAIN (UNDEF) /* VAR_DOMAIN is the usual domain. In C, this contains variables, function names, typedef names and enum type values. */ SYM_DOMAIN (VAR) /* STRUCT_DOMAIN is used in C to hold struct, union and enum type names. Thus, if `struct foo' is used in a C program, it produces a symbol named `foo' in the STRUCT_DOMAIN. */ SYM_DOMAIN (STRUCT) /* MODULE_DOMAIN is used in Fortran to hold module type names. */ SYM_DOMAIN (MODULE) /* LABEL_DOMAIN may be used for names of labels (for gotos). */ SYM_DOMAIN (LABEL) /* Fortran common blocks. Their naming must be separate from VAR_DOMAIN. They also always use LOC_COMMON_BLOCK. */ SYM_DOMAIN (COMMON_BLOCK) /* TYPE_DOMAIN is for types and typedefs. Note that tags are not found here, see STRUCT_DOMAIN above. If a language does not have a tag namespace, then all types (including structures, etc) are here. */ SYM_DOMAIN (TYPE) /* FUNCTION_DOMAIN is for functions and methods. */ SYM_DOMAIN (FUNCTION)