]>
Commit | Line | Data |
---|---|---|
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 | ||
26 | HOOK_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. */ | |
32 | DEFHOOK | |
33 | (d_cpu_versions, | |
34 | "Declare all environmental version identifiers relating to the target CPU\n\ | |
35 | using the function @code{builtin_version}, which takes a string representing\n\ | |
36 | the name of the version. Version identifiers predefined by this hook apply\n\ | |
37 | to 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. */ | |
42 | DEFHOOK | |
43 | (d_os_versions, | |
44 | "Similarly to @code{TARGET_D_CPU_VERSIONS}, but is used for versions\n\ | |
45 | relating to the target operating system.", | |
46 | void, (void), | |
47 | hook_void_void) | |
48 | ||
4dce3b05 IB |
49 | /* ModuleInfo section name and brackets. */ |
50 | DEFHOOKPOD | |
51 | (d_minfo_section, | |
52 | "Contains the name of the section in which module info references should be\n\ | |
53 | placed. This section is expected to be bracketed by two symbols to indicate\n\ | |
54 | the start and end address of the section, so that the runtime library can\n\ | |
55 | collect all modules for each loaded shared library and executable. The\n\ | |
56 | default value of @code{NULL} disables the use of sections altogether.", | |
57 | const char *, NULL) | |
58 | ||
59 | DEFHOOKPOD | |
60 | (d_minfo_start_name, | |
61 | "If @code{TARGET_D_MINFO_SECTION} is defined, then this must also be defined\n\ | |
62 | as the name of the symbol indicating the start address of the module info\n\ | |
63 | section", | |
64 | const char *, NULL) | |
65 | ||
66 | /* The name of the ModuleInfo section. */ | |
67 | DEFHOOKPOD | |
68 | (d_minfo_end_name, | |
69 | "If @code{TARGET_D_MINFO_SECTION} is defined, then this must also be defined\n\ | |
70 | as the name of the symbol indicating the end address of the module info\n\ | |
71 | section", | |
72 | const char *, NULL) | |
73 | ||
b4c522fa IB |
74 | /* Close the 'struct gcc_targetdm' definition. */ |
75 | HOOK_VECTOR_END (C90_EMPTY_HACK) |