/* d-target.def -- Target hook definitions for the D front end. Copyright (C) 2017-2020 Free Software Foundation, Inc. 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, 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; see the file COPYING3. If not see . */ /* See target-hooks-macros.h for details of macros that should be provided by the including file, and how to use them here. */ #include "target-hooks-macros.h" #undef HOOK_TYPE #define HOOK_TYPE "D Target Hook" HOOK_VECTOR (TARGETDM_INITIALIZER, gcc_targetdm) #undef HOOK_PREFIX #define HOOK_PREFIX "TARGET_" /* Environmental version identifiers relating to the target CPU. */ DEFHOOK (d_cpu_versions, "Declare all environmental version identifiers relating to the target CPU\n\ using the function @code{builtin_version}, which takes a string representing\n\ the name of the version. Version identifiers predefined by this hook apply\n\ to all modules that are being compiled and imported.", void, (void), hook_void_void) /* Environmental version identifiers relating to the target OS. */ DEFHOOK (d_os_versions, "Similarly to @code{TARGET_D_CPU_VERSIONS}, but is used for versions\n\ relating to the target operating system.", void, (void), hook_void_void) /* ModuleInfo section name and brackets. */ DEFHOOKPOD (d_minfo_section, "Contains the name of the section in which module info references should be\n\ placed. This section is expected to be bracketed by two symbols to indicate\n\ the start and end address of the section, so that the runtime library can\n\ collect all modules for each loaded shared library and executable. The\n\ default value of @code{NULL} disables the use of sections altogether.", const char *, NULL) DEFHOOKPOD (d_minfo_start_name, "If @code{TARGET_D_MINFO_SECTION} is defined, then this must also be defined\n\ as the name of the symbol indicating the start address of the module info\n\ section", const char *, NULL) /* The name of the ModuleInfo section. */ DEFHOOKPOD (d_minfo_end_name, "If @code{TARGET_D_MINFO_SECTION} is defined, then this must also be defined\n\ as the name of the symbol indicating the end address of the module info\n\ section", const char *, NULL) /* Close the 'struct gcc_targetdm' definition. */ HOOK_VECTOR_END (C90_EMPTY_HACK)