From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1873) id 760B13951C83; Tue, 13 Apr 2021 20:41:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 760B13951C83 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Iain Buclaw To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/ibuclaw/heads/mingw)] d: Add TARGET_D_REGISTER_OS_TARGET_INFO X-Act-Checkin: gcc X-Git-Author: Iain Buclaw X-Git-Refname: refs/users/ibuclaw/heads/mingw X-Git-Oldrev: e7d8a0e7fb922464a12e52f188f6e5f9a72e4b5b X-Git-Newrev: f4762bf3ce3e7b222df9c28bdf4909e620e4ef90 Message-Id: <20210413204157.760B13951C83@sourceware.org> Date: Tue, 13 Apr 2021 20:41:57 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2021 20:41:57 -0000 https://gcc.gnu.org/g:f4762bf3ce3e7b222df9c28bdf4909e620e4ef90 commit f4762bf3ce3e7b222df9c28bdf4909e620e4ef90 Author: Iain Buclaw Date: Mon Apr 5 20:40:38 2021 +0200 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. Diff: --- gcc/d/d-target.cc | 1 + gcc/d/d-target.def | 8 ++++++++ gcc/doc/tm.texi | 5 +++++ gcc/doc/tm.texi.in | 2 ++ 4 files changed, 16 insertions(+) diff --git a/gcc/d/d-target.cc b/gcc/d/d-target.cc index d576b74af1c..be354d9f1f0 100644 --- a/gcc/d/d-target.cc +++ b/gcc/d/d-target.cc @@ -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); } diff --git a/gcc/d/d-target.def b/gcc/d/d-target.def index cd0397c1577..aa6bf55e6e6 100644 --- a/gcc/d/d-target.def +++ b/gcc/d/d-target.def @@ -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, diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 6201df9a67d..97c8eebcd6f 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -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 diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index bde57585b03..e2d49ee9f57 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -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