diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2020-04-22 13:42:04 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2020-04-22 13:56:51 +0000 |
commit | d414c91510bec4f640de29661062d5672a5684e8 (patch) | |
tree | 90f14632fbdcfa3f4189849cfad6c4dffa764169 | |
parent | a87e0cba839bb4a2daca34896a0760258027b38e (diff) | |
download | gcc-d414c91510bec4f640de29661062d5672a5684e8.zip gcc-d414c91510bec4f640de29661062d5672a5684e8.tar.gz gcc-d414c91510bec4f640de29661062d5672a5684e8.tar.bz2 |
testsuite: [arm] Add arm_softfp_ok and arm_hard_ok effective targets.
For arm-linux-gnueabi* targets, a toolchain cannot support the
float-abi opposite to the one it has been configured for: since glibc
does not support such multilibs, we end up lacking gnu/stubs-*.h when
including stdint.h for instance.
This patch introduces two new effective targets to detect whether we
can compile tests with -mfloat-abi=softfp or -mfloat-abi=hard.
This enables to make such tests unsupported rather than fail.
2020-04-22 Christophe Lyon <christophe.lyon@linaro.org>
gcc/testsuite/
* lib/target-supports.exp (arm_softfp_ok): New effective target.
(arm_hard_ok): Likewise.
gcc/
* doc/sourcebuild.texi (arm_softfp_ok, arm_hard_ok): Document.
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/doc/sourcebuild.texi | 8 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 20 |
4 files changed, 37 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 85f6f4c..961048a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2020-04-22 Christophe Lyon <christophe.lyon@linaro.org> + + * doc/sourcebuild.texi (arm_softfp_ok, arm_hard_ok): Document. + 2020-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> Andre Vieira <andre.simoesdiasvieira@arm.com> Mihail Ionescu <mihail.ionescu@arm.com> diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index c1642ba..b696120 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -1971,6 +1971,14 @@ ARM Target supports options suitable for accessing the Q-bit manipulation intrinsics from @code{arm_acle.h}. Some multilibs may be incompatible with these options. +@item arm_softfp_ok +@anchor{arm_softfp_ok} +ARM target supports the @code{-mfloat-abi=softfp} option. + +@item arm_hard_ok +@anchor{arm_hard_ok} +ARM target supports the @code{-mfloat-abi=hard} option. + @end table @subsubsection AArch64-specific attributes diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 36b2893..9c3a03c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-04-22 Christophe Lyon <christophe.lyon@linaro.org> + + * lib/target-supports.exp (arm_softfp_ok): New effective target. + (arm_hard_ok): Likewise. + 2020-04-22 Tobias Burnus <tobias@codesourcery.com> PR fortran/94709 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 5704a2f..307a67e 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -4739,6 +4739,26 @@ proc check_effective_target_default_branch_protection { } { return [check_configured_with "enable-standard-branch-protection"] } +# Return 1 if this is an ARM target supporting -mfloat-abi=softfp. + +proc check_effective_target_arm_softfp_ok { } { + return [check_no_compiler_messages arm_softfp_ok object { + #include <stdint.h> + int dummy; + int main (void) { return 0; } + } "-mfloat-abi=softfp"] +} + +# Return 1 if this is an ARM target supporting -mfloat-abi=hard. + +proc check_effective_target_arm_hard_ok { } { + return [check_no_compiler_messages arm_hard_ok object { + #include <stdint.h> + int dummy; + int main (void) { return 0; } + } "-mfloat-abi=hard"] +} + # Return 1 if the target supports ARMv8.1-M MVE with floating point # instructions, 0 otherwise. The test is valid for ARM. # Record the command line options needed. |