d: Add TARGET_D_REGISTER_OS_TARGET_INFO

This allows target platforms that have D support files to defined their
own target-specific information keys.

gcc/ChangeLog:

	* doc/tm.texi: Regenerate.
	* doc/tm.texi.in (D language and ABI): Add @hook for
	TARGET_D_REGISTER_OS_TARGET_INFO.

gcc/d/ChangeLog:

	* d-target.cc (Target::_init): Call new targetdm hook to register OS
	specific target info keys.
	* d-target.def (d_register_os_target_info): New hook.
This commit is contained in:
Iain Buclaw 2021-04-05 20:40:38 +02:00
parent 2ccc05a514
commit 527bc0181d
4 changed files with 16 additions and 0 deletions

View File

@ -199,6 +199,7 @@ Target::_init (const Param &)
/* Initialize target info tables, the keys required by the language are added
last, so that the OS and CPU handlers can override. */
targetdm.d_register_cpu_target_info ();
targetdm.d_register_os_target_info ();
d_add_target_info_handlers (d_language_target_info);
}

View File

@ -58,6 +58,14 @@ describing the requested target information.",
void, (void),
hook_void_void)
/* getTargetInfo keys relating to the target OS. */
DEFHOOK
(d_register_os_target_info,
"Same as @code{TARGET_D_CPU_TARGET_INFO}, but is used for keys relating to\n\
the target operating system.",
void, (void),
hook_void_void)
/* ModuleInfo section name and brackets. */
DEFHOOKPOD
(d_minfo_section,

View File

@ -10817,6 +10817,11 @@ added by this hook are made available at compile time by the
describing the requested target information.
@end deftypefn
@deftypefn {D Target Hook} void TARGET_D_REGISTER_OS_TARGET_INFO (void)
Same as @code{TARGET_D_CPU_TARGET_INFO}, but is used for keys relating to
the target operating system.
@end deftypefn
@deftypevr {D Target Hook} {const char *} TARGET_D_MINFO_SECTION
Contains the name of the section in which module info references should be
placed. This section is expected to be bracketed by two symbols to indicate

View File

@ -7359,6 +7359,8 @@ floating-point support; they are not included in this mechanism.
@hook TARGET_D_REGISTER_CPU_TARGET_INFO
@hook TARGET_D_REGISTER_OS_TARGET_INFO
@hook TARGET_D_MINFO_SECTION
@hook TARGET_D_MINFO_START_NAME