1 /* Symbol domains
-*- c
++ -*-
3 Copyright (C
) 2023 Free Software Foundation
, Inc.
5 This file is part of GDB.
7 This program is free software
; you can redistribute it and
/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation
; either version
3 of the License
, or
10 (at your option
) any later version.
12 This program is distributed in the hope that it will be useful
,
13 but WITHOUT ANY WARRANTY
; without even the implied warranty of
14 MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program. If not
, see
<http
://www.gnu.org
/licenses
/>.
*/
20 /* UNDEF_DOMAIN is used when a domain has not been discovered or
21 none of the following apply. This usually indicates an error either
22 in the symbol information or in gdb
's handling of symbols. */
26 /* VAR_DOMAIN is the usual domain. In C, this contains variables,
27 function names, typedef names and enum type values. */
31 /* STRUCT_DOMAIN is used in C to hold struct, union and enum type names.
32 Thus, if `struct foo' is used in a C program
, it produces a symbol named
33 `foo
' in the STRUCT_DOMAIN. */
37 /* MODULE_DOMAIN is used in Fortran to hold module type names. */
41 /* LABEL_DOMAIN may be used for names of labels (for gotos). */
45 /* Fortran common blocks. Their naming must be separate from VAR_DOMAIN.
46 They also always use LOC_COMMON_BLOCK. */
47 SYM_DOMAIN (COMMON_BLOCK)
49 /* TYPE_DOMAIN is for types and typedefs. Note that tags are not
50 found here, see STRUCT_DOMAIN above. If a language does not have a
51 tag namespace, then all types (including structures, etc) are
56 /* FUNCTION_DOMAIN is for functions and methods. */