]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/d/d-target.def
Update copyright years.
[thirdparty/gcc.git] / gcc / d / d-target.def
CommitLineData
b4c522fa 1/* d-target.def -- Target hook definitions for the D front end.
99dee823 2 Copyright (C) 2017-2021 Free Software Foundation, Inc.
b4c522fa
IB
3
4 This program is free software; you can redistribute it and/or modify it
5 under the terms of the GNU General Public License as published by the
6 Free Software Foundation; either version 3, or (at your option) any
7 later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; see the file COPYING3. If not see
16 <http://www.gnu.org/licenses/>. */
17
18/* See target-hooks-macros.h for details of macros that should be
19 provided by the including file, and how to use them here. */
20
21#include "target-hooks-macros.h"
22
23#undef HOOK_TYPE
24#define HOOK_TYPE "D Target Hook"
25
26HOOK_VECTOR (TARGETDM_INITIALIZER, gcc_targetdm)
27
28#undef HOOK_PREFIX
29#define HOOK_PREFIX "TARGET_"
30
31/* Environmental version identifiers relating to the target CPU. */
32DEFHOOK
33(d_cpu_versions,
34 "Declare all environmental version identifiers relating to the target CPU\n\
35using the function @code{builtin_version}, which takes a string representing\n\
36the name of the version. Version identifiers predefined by this hook apply\n\
37to all modules that are being compiled and imported.",
38 void, (void),
39 hook_void_void)
40
41/* Environmental version identifiers relating to the target OS. */
42DEFHOOK
43(d_os_versions,
44 "Similarly to @code{TARGET_D_CPU_VERSIONS}, but is used for versions\n\
45relating to the target operating system.",
46 void, (void),
47 hook_void_void)
48
4dce3b05
IB
49/* ModuleInfo section name and brackets. */
50DEFHOOKPOD
51(d_minfo_section,
52 "Contains the name of the section in which module info references should be\n\
53placed. This section is expected to be bracketed by two symbols to indicate\n\
54the start and end address of the section, so that the runtime library can\n\
55collect all modules for each loaded shared library and executable. The\n\
56default value of @code{NULL} disables the use of sections altogether.",
57 const char *, NULL)
58
59DEFHOOKPOD
60(d_minfo_start_name,
61 "If @code{TARGET_D_MINFO_SECTION} is defined, then this must also be defined\n\
62as the name of the symbol indicating the start address of the module info\n\
63section",
64 const char *, NULL)
65
66/* The name of the ModuleInfo section. */
67DEFHOOKPOD
68(d_minfo_end_name,
69 "If @code{TARGET_D_MINFO_SECTION} is defined, then this must also be defined\n\
70as the name of the symbol indicating the end address of the module info\n\
71section",
72 const char *, NULL)
73
b4c522fa
IB
74/* Close the 'struct gcc_targetdm' definition. */
75HOOK_VECTOR_END (C90_EMPTY_HACK)