aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2023-07-07 07:41:59 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2023-07-10 14:13:59 +0000
commit7199b591649b81fef4d78e34a40bc7f474b22051 (patch)
treee727ad960c3daa6b6391594ccc1f37eb1978c6ec
parent95504a2303faa5f8abee259eea57856085a114a4 (diff)
downloadgcc-7199b591649b81fef4d78e34a40bc7f474b22051.zip
gcc-7199b591649b81fef4d78e34a40bc7f474b22051.tar.gz
gcc-7199b591649b81fef4d78e34a40bc7f474b22051.tar.bz2
testsuite: Add _link flavor for several arm_arch* and arm* effective-targets
For arm targets, we generate many effective-targets with check_effective_target_FUNC_multilib and check_effective_target_arm_arch_FUNC_multilib which check if we can link and execute a simple program with a given set of flags/multilibs. In some cases however, it's possible to link but not to execute a program, so this patch adds similar _link effective-targets which only check if link succeeds. The patch does not uupdate the documentation as it already lacks the numerous existing related effective-targets. 2023-07-07 Christophe Lyon <christophe.lyon@linaro.org> gcc/testsuite/ * lib/target-supports.exp (arm_*FUNC_link): New effective-targets.
-rw-r--r--gcc/testsuite/lib/target-supports.exp27
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index b16853d..33482b2 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -5129,6 +5129,14 @@ foreach { armfunc armflag armdefs } {
return "$flags FLAG"
}
+ proc check_effective_target_arm_arch_FUNC_link { } {
+ return [check_no_compiler_messages arm_arch_FUNC_link executable {
+ #include <stdint.h>
+ int dummy;
+ int main (void) { return 0; }
+ } [add_options_for_arm_arch_FUNC ""]]
+ }
+
proc check_effective_target_arm_arch_FUNC_multilib { } {
return [check_runtime arm_arch_FUNC_multilib {
int
@@ -5906,6 +5914,7 @@ proc add_options_for_arm_v8_2a_bf16_neon { flags } {
# arm_v8m_main_cde: Armv8-m CDE (Custom Datapath Extension).
# arm_v8m_main_cde_fp: Armv8-m CDE with FP registers.
# arm_v8_1m_main_cde_mve: Armv8.1-m CDE with MVE.
+# arm_v8_1m_main_cde_mve_fp: Armv8.1-m CDE with MVE with FP support.
# Usage:
# /* { dg-require-effective-target arm_v8m_main_cde_ok } */
# /* { dg-add-options arm_v8m_main_cde } */
@@ -5965,6 +5974,24 @@ foreach { armfunc armflag armdef arminc } {
return "$flags $et_FUNC_flags"
}
+ proc check_effective_target_FUNC_link { } {
+ if { ! [check_effective_target_FUNC_ok] } {
+ return 0;
+ }
+ return [check_no_compiler_messages FUNC_link executable {
+ #if !(DEF)
+ #error "DEF failed"
+ #endif
+ #include <arm_cde.h>
+ INC
+ int
+ main (void)
+ {
+ return 0;
+ }
+ } [add_options_for_FUNC ""]]
+ }
+
proc check_effective_target_FUNC_multilib { } {
if { ! [check_effective_target_FUNC_ok] } {
return 0;