aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2020-04-22 13:42:04 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2020-04-22 13:56:51 +0000
commitd414c91510bec4f640de29661062d5672a5684e8 (patch)
tree90f14632fbdcfa3f4189849cfad6c4dffa764169 /gcc
parenta87e0cba839bb4a2daca34896a0760258027b38e (diff)
downloadgcc-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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/doc/sourcebuild.texi8
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/lib/target-supports.exp20
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.