mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-23 01:53:38 +08:00
878e894801
Since commit 6771fc6f1d
"Use a .def file for domain_enum", the
sym-domains.def file has been introduced, and requires the user to
define the DOMAIN(x) macro.
On older systems (centos-7 with glibc-2.17 for example), this DOMAIN
macro conflicts with another macro defined in /usr/include/math.h.
Fix this conflict by changing sym-domains.def to use a macro named
SYM_DOMAIN instead of DOMAIN.
Change-Id: I679df30e2bd2f4333343f16bbd2a3511a37550a3
Approved-By: Tom Tromey <tom@tromey.com>
59 lines
1.9 KiB
C++
59 lines
1.9 KiB
C++
/* 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 <http://www.gnu.org/licenses/>. */
|
|
|
|
/* 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)
|