D ABI parameters#
-
void TARGET_D_CPU_VERSIONS(void)#
Declare all environmental version identifiers relating to the target CPU using the function
builtin_version
, which takes a string representing the name of the version. Version identifiers predefined by this hook apply to all modules that are being compiled and imported.
-
void TARGET_D_OS_VERSIONS(void)#
Similarly to
TARGET_D_CPU_VERSIONS
, but is used for versions relating to the target operating system.
-
void TARGET_D_REGISTER_CPU_TARGET_INFO(void)#
Register all target information keys relating to the target CPU using the function
d_add_target_info_handlers
, which takes astruct d_target_info_spec
(defined ind/d-target.h
). The keys added by this hook are made available at compile time by the__traits(getTargetInfo)
extension, the result is an expression describing the requested target information.
-
void TARGET_D_REGISTER_OS_TARGET_INFO(void)#
Same as
TARGET_D_CPU_TARGET_INFO
, but is used for keys relating to the target operating system.
-
const char *TARGET_D_MINFO_SECTION#
Contains the name of the section in which module info references should be placed. By default, the compiler puts all module info symbols in the
"minfo"
section. Define this macro to override the string if a different section name should be used. This section is expected to be bracketed by two symbolsTARGET_D_MINFO_SECTION_START
andTARGET_D_MINFO_SECTION_END
to indicate the start and end address of the section, so that the runtime library can collect all modules for each loaded shared library and executable. Setting the value toNULL
disables the use of sections for storing module info altogether.
-
const char *TARGET_D_MINFO_SECTION_START#
If
TARGET_D_MINFO_SECTION
is defined, then this must also be defined as the name of the symbol indicating the start address of the module info section
-
const char *TARGET_D_MINFO_SECTION_END#
If
TARGET_D_MINFO_SECTION
is defined, then this must also be defined as the name of the symbol indicating the end address of the module info section
-
bool TARGET_D_HAS_STDCALL_CONVENTION(unsigned int *link_system, unsigned int *link_windows)#
Returns
true
if the target supports the stdcall calling convention. The hook should also setlink_system
to1
if thestdcall
attribute should be applied to functions withextern(System)
linkage, andlink_windows
to1
to applystdcall
to functions withextern(Windows)
linkage.
-
bool TARGET_D_TEMPLATES_ALWAYS_COMDAT#
This flag is true if instantiated functions and variables are always COMDAT if they have external linkage. If this flag is false, then instantiated decls will be emitted as weak symbols. The default is
false
.