testsuite: [arm/cde] Include arm_cde.h and arm_mve.h in arm_v8*m_main_cde*
authorChristophe Lyon <christophe.lyon@linaro.org>
Wed, 22 Apr 2020 13:50:36 +0000 (13:50 +0000)
committerChristophe Lyon <christophe.lyon@linaro.org>
Wed, 22 Apr 2020 13:56:51 +0000 (13:56 +0000)
Since arm_cde.h includes stdint.h, its use requires the presence of
the right gnu/stub-*.h, so make sure to include it when checking the
arm_v8*m_main_cde* effective targets, otherwise we can decide CDE is
supported while it's not really (all tests that use arm_v8m_main_cde*
also include arm_cde.h aynway).

Similarly for the effective targets that also require MVE.

This makes several tests unsupported rather than fail.

2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/testsuite/
* lib/target-supports.exp (arm_v8m_main_cde, arm_v8m_main_cde_fp)
(arm_v8_1m_main_cde_mve, arm_v8_1m_main_cde_mve_fp): Include
arm_cde.h and arm_mve.h as ineeded.

gcc/testsuite/ChangeLog
gcc/testsuite/lib/target-supports.exp

index d172ec30b0c6a9b1726308f3b4543cfb8d0a99d0..185a58ac309d735ab926c517da222a2c04d05999 100644 (file)
@@ -1,3 +1,10 @@
+2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
+
+        gcc/testsuite/
+        * lib/target-supports.exp (arm_v8m_main_cde, arm_v8m_main_cde_fp)
+        (arm_v8_1m_main_cde_mve, arm_v8_1m_main_cde_mve_fp): Include
+        arm_cde.h and arm_mve.h as ineeded.
+
 2020-04-22  Christophe Lyon  <christophe.lyon@linaro.org>
 
         * lib/target-supports.exp
index 9b30bd2427f15b41ab02254ee29a88b6cf3cf54f..9d2634a1da25fcb1e68baf0388a902c3147e5590 100644 (file)
@@ -5140,21 +5140,25 @@ proc add_options_for_arm_v8_2a_bf16_neon { flags } {
 #   /* { dg-add-options arm_v8m_main_cde } */
 # The tests are valid for Arm.
 
-foreach { armfunc armflag armdef } {
+foreach { armfunc armflag armdef arminc } {
        arm_v8m_main_cde
                "-march=armv8-m.main+cdecp0+cdecp6 -mthumb"
                "defined (__ARM_FEATURE_CDE)"
+               ""
        arm_v8m_main_cde_fp
                "-march=armv8-m.main+fp+cdecp0+cdecp6 -mthumb -mfpu=auto"
                "defined (__ARM_FEATURE_CDE) && defined (__ARM_FP)"
+               ""
        arm_v8_1m_main_cde_mve
                "-march=armv8.1-m.main+mve+cdecp0+cdecp6 -mthumb -mfpu=auto"
                "defined (__ARM_FEATURE_CDE) && defined (__ARM_FEATURE_MVE)"
+               "#include <arm_mve.h>"
        arm_v8_1m_main_cde_mve_fp
                "-march=armv8.1-m.main+mve.fp+cdecp0+cdecp6 -mthumb -mfpu=auto"
                "defined (__ARM_FEATURE_CDE) || __ARM_FEATURE_MVE == 3"
+               "#include <arm_mve.h>"
        } {
-    eval [string map [list FUNC $armfunc FLAG $armflag DEF $armdef ] {
+    eval [string map [list FUNC $armfunc FLAG $armflag DEF $armdef INC $arminc ] {
        proc check_effective_target_FUNC_ok_nocache { } {
            global et_FUNC_flags
            set et_FUNC_flags ""
@@ -5167,6 +5171,8 @@ foreach { armfunc armflag armdef } {
                #if !(DEF)
                #error "DEF failed"
                #endif
+               #include <arm_cde.h>
+               INC
            } "FLAG"] } {
                    set et_FUNC_flags "FLAG"
                    return 1