]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/rs6000/rs6000-protos.h
d: Add TARGET_D_REGISTER_CPU_TARGET_INFO
authorIain Buclaw <ibuclaw@gdcproject.org>
Mon, 5 Apr 2021 17:37:31 +0000 (19:37 +0200)
committerIain Buclaw <ibuclaw@gdcproject.org>
Wed, 14 Apr 2021 12:43:38 +0000 (14:43 +0200)
commit3785d2b207f1958f31a79fbbb5705b261551950d
treedc09047937f2331c1288f8f0e1ee71c77a7d90ff
parentd253a6f7bb1748405bd9d12967f40dc19c8f77c4
d: Add TARGET_D_REGISTER_CPU_TARGET_INFO

This implements `__traits(getTargetInfo, "floatAbi")' for all targets
that have D support files.

gcc/ChangeLog:

* config/aarch64/aarch64-d.c (aarch64_d_handle_target_float_abi): New
function.
(aarch64_d_register_target_info): New function.
* config/aarch64/aarch64-protos.h (aarch64_d_register_target_info):
Declare.
* config/aarch64/aarch64.h (TARGET_D_REGISTER_CPU_TARGET_INFO):
Define.
* config/arm/arm-d.c (arm_d_handle_target_float_abi): New function.
(arm_d_register_target_info): New function.
* config/arm/arm-protos.h (arm_d_register_target_info): Declare.
* config/arm/arm.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
* config/i386/i386-d.c (ix86_d_handle_target_float_abi): New function.
(ix86_d_register_target_info): New function.
* config/i386/i386-protos.h (ix86_d_register_target_info): Declare.
* config/i386/i386.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
* config/mips/mips-d.c (mips_d_handle_target_float_abi): New function.
(mips_d_register_target_info): New function.
* config/mips/mips-protos.h (mips_d_register_target_info): Declare.
* config/mips/mips.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
* config/pa/pa-d.c (pa_d_handle_target_float_abi): New function.
(pa_d_register_target_info): New function.
* config/pa/pa-protos.h (pa_d_register_target_info): Declare.
* config/pa/pa.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
* config/riscv/riscv-d.c (riscv_d_handle_target_float_abi): New
function.
(riscv_d_register_target_info): New function.
* config/riscv/riscv-protos.h (riscv_d_register_target_info): Declare.
* config/riscv/riscv.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
* config/rs6000/rs6000-d.c (rs6000_d_handle_target_float_abi): New
function.
(rs6000_d_register_target_info): New function.
* config/rs6000/rs6000-protos.h (rs6000_d_register_target_info):
Declare.
* config/rs6000/rs6000.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
* config/s390/s390-d.c (s390_d_handle_target_float_abi): New function.
(s390_d_register_target_info): New function.
* config/s390/s390-protos.h (s390_d_register_target_info): Declare.
* config/s390/s390.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
* config/sparc/sparc-d.c (sparc_d_handle_target_float_abi): New
function.
(sparc_d_register_target_info): New function.
* config/sparc/sparc-protos.h (sparc_d_register_target_info): Declare.
* config/sparc/sparc.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in (D language and ABI): Add @hook for
TARGET_D_REGISTER_CPU_TARGET_INFO.

gcc/d/ChangeLog:

* d-target.cc (Target::_init): Call new targetdm hook to register CPU
specific target info keys.
* d-target.def (d_register_cpu_target_info): New hook.
31 files changed:
gcc/config/aarch64/aarch64-d.c
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.h
gcc/config/arm/arm-d.c
gcc/config/arm/arm-protos.h
gcc/config/arm/arm.h
gcc/config/i386/i386-d.c
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.h
gcc/config/mips/mips-d.c
gcc/config/mips/mips-protos.h
gcc/config/mips/mips.h
gcc/config/pa/pa-d.c
gcc/config/pa/pa-protos.h
gcc/config/pa/pa.h
gcc/config/riscv/riscv-d.c
gcc/config/riscv/riscv-protos.h
gcc/config/riscv/riscv.h
gcc/config/rs6000/rs6000-d.c
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.h
gcc/config/s390/s390-d.c
gcc/config/s390/s390-protos.h
gcc/config/s390/s390.h
gcc/config/sparc/sparc-d.c
gcc/config/sparc/sparc-protos.h
gcc/config/sparc/sparc.h
gcc/d/d-target.cc
gcc/d/d-target.def
gcc/doc/tm.texi
gcc/doc/tm.texi.in