This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][AArch64/arm] PR testsuite/85326 Avoid C++ tests when C++ compiler not present


Hi all,

This patch makes the arm and aarch64 testsuite safe for when a C++ compiler is not present.
This involves moving .C files into g++.dg/other/ and guarding them with the appropriate target check.

For others it just means renaming them from .C to .c.

For gcc.target/aarch64/simd/pr67896.C this means adjusting the error messages to look
for the errors that the C frontend gives for conflicting types rather than what C++ gives.

This fixes the errors seen when testing a non-bootstrapped C-only GCC and the tests
still pass on normal testing setups and the tests that are in g++.dg appear UNSUPPORTED
on the targets that they don't pertain to.

Tested this on arm-none-linux-gnueabihf and aarch64-none-linux-gnu.

Ok for trunk?

Thanks,
Kyrill

2018-04-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

    PR testsuite/85326
    * gcc.target/arm/pr54300.C: Move to...
    * g++.dg/other/pr54300.C: ... Here.  Add target directives.
    * gcc.target/arm/pr55073.C: Move to...
    * g++.dg/other/pr55073.C: ... Here.  Add target directives.
    * gcc.target/arm/pr56184.C: Move to...
    * g++.dg/other/pr56184.C: ... Here.  Add target directives.
    * gcc.target/arm/pr59985.C: Move to...
    * g++.dg/other/pr59985.C: ... Here.  Add target directives.
    * gcc.target/aarch64/pr60675.C: Move to...
    * g++.dg/other/pr60675.C: ... Here.  Add target directives.
    * gcc.target/aarch64/pr81422.C: Move to...
    * g++.dg/other/pr81422.C: ... Here.  Add target directives.
    * gcc.target/aarch64/sve/const_pred_1.C: Move to...
    * g++.dg/other/sve_const_pred_1.C: ... Here.  Add target directives.
    * gcc.target/aarch64/sve/const_pred_2.C: Move to...
    * g++.dg/other/sve_const_pred_2.C: ... Here.  Add target directives.
    * gcc.target/aarch64/sve/const_pred_3.C: Move to...
    * g++.dg/other/sve_const_pred_3.C: ... Here.  Add target directives.
    * gcc.target/aarch64/sve/const_pred_4.C: Move to...
    * g++.dg/other/sve_const_pred_4.C: ... Here.  Add target directives.
    * gcc.target/aarch64/sve/tls_2.C: Move to...
    * g++.dg/other/sve_tls_2.C: ... Here.  Add target directives.
    * gcc.target/aarch64/pr81414.C: Rename to...
    * gcc.target/aarch64/pr81414.c: ... This.
    * gcc.target/aarch64/simd/pr67896.C: Rename to...
    * gcc.target/aarch64/simd/pr67896.c: ... This.  Update error expected
    messages.
    * gcc.target/aarch64/sve/vcond_1.C: Rename to...
    * gcc.target/aarch64/sve/vcond_1.c: ... This.  Avoid use of stdint.h.
    * gcc.target/aarch64/sve/vcond_1_run.C: Rename to...
    * gcc.target/aarch64/sve/vcond_1_run.c: ... This.  Update include
    file name.
diff --git a/gcc/testsuite/gcc.target/aarch64/pr60675.C b/gcc/testsuite/g++.dg/other/pr60675.C
similarity index 99%
rename from gcc/testsuite/gcc.target/aarch64/pr60675.C
rename to gcc/testsuite/g++.dg/other/pr60675.C
index aa88cdb240358629d2be575297c2acc957364f23..11001559147db822041a8b806a8d30b6e99a785c 100644
--- a/gcc/testsuite/gcc.target/aarch64/pr60675.C
+++ b/gcc/testsuite/g++.dg/other/pr60675.C
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target fpic } } */
 /* { dg-options "-std=c++11 -w -O2 -fPIC" } */
 namespace CLHEP {
       static const double meter = 1000.*10;
diff --git a/gcc/testsuite/gcc.target/aarch64/pr81414.C b/gcc/testsuite/gcc.target/aarch64/pr81414.c
similarity index 100%
rename from gcc/testsuite/gcc.target/aarch64/pr81414.C
rename to gcc/testsuite/gcc.target/aarch64/pr81414.c
diff --git a/gcc/testsuite/gcc.target/aarch64/pr81422.C b/gcc/testsuite/g++.dg/other/pr81422.C
similarity index 100%
rename from gcc/testsuite/gcc.target/aarch64/pr81422.C
rename to gcc/testsuite/g++.dg/other/pr81422.C
diff --git a/gcc/testsuite/gcc.target/aarch64/simd/pr67896.C b/gcc/testsuite/gcc.target/aarch64/simd/pr67896.C
deleted file mode 100644
index 1f916e09f4fc6b10f40fb3c84134f3c3f135c68d..0000000000000000000000000000000000000000
--- a/gcc/testsuite/gcc.target/aarch64/simd/pr67896.C
+++ /dev/null
@@ -1,7 +0,0 @@
-typedef __Poly8_t A;
-typedef __Poly16_t A; /* { dg-error "conflicting declaration" } */
-typedef __Poly64_t A; /* { dg-error "conflicting declaration" } */
-typedef __Poly128_t A; /* { dg-error "conflicting declaration" } */
-
-typedef __Poly8x8_t B;
-typedef __Poly16x8_t B; /* { dg-error "conflicting declaration" } */ 
diff --git a/gcc/testsuite/gcc.target/aarch64/simd/pr67896.c b/gcc/testsuite/gcc.target/aarch64/simd/pr67896.c
new file mode 100644
index 0000000000000000000000000000000000000000..3e27bea0e952368c46afbad760c22811f369db06
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/simd/pr67896.c
@@ -0,0 +1,7 @@
+typedef __Poly8_t A;
+typedef __Poly16_t A; /* { dg-error "conflicting types" } */
+typedef __Poly64_t A; /* { dg-error "conflicting types" } */
+typedef __Poly128_t A; /* { dg-error "conflicting types" } */
+
+typedef __Poly8x8_t B;
+typedef __Poly16x8_t B; /* { dg-error "conflicting types" } */
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_1.C b/gcc/testsuite/g++.dg/other/sve_const_pred_1.C
similarity index 78%
rename from gcc/testsuite/gcc.target/aarch64/sve/const_pred_1.C
rename to gcc/testsuite/g++.dg/other/sve_const_pred_1.C
index 25b7663273fef57f2c6bec58d534d3a1873f3100..cc124c06ee571d8189ade53c193db5334645173b 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_1.C
+++ b/gcc/testsuite/g++.dg/other/sve_const_pred_1.C
@@ -1,5 +1,5 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -msve-vector-bits=256" } */
+/* { dg-do compile { target aarch64*-*-* } } */
+/* { dg-options "-O2 -march=armv8.2-a+sve -msve-vector-bits=256" } */
 
 #include <stdint.h>
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_2.C b/gcc/testsuite/g++.dg/other/sve_const_pred_2.C
similarity index 75%
rename from gcc/testsuite/gcc.target/aarch64/sve/const_pred_2.C
rename to gcc/testsuite/g++.dg/other/sve_const_pred_2.C
index 4c781ca560c4788fa754c87d1e111d70a2ed91ab..e3bce397cbf2061f3cf471739a9686fc6914a33b 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_2.C
+++ b/gcc/testsuite/g++.dg/other/sve_const_pred_2.C
@@ -1,5 +1,5 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -msve-vector-bits=256" } */
+/* { dg-do compile { target aarch64*-*-* } } */
+/* { dg-options "-O2 -march=armv8.2-a+sve -msve-vector-bits=256" } */
 
 #include <stdint.h>
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_3.C b/gcc/testsuite/g++.dg/other/sve_const_pred_3.C
similarity index 73%
rename from gcc/testsuite/gcc.target/aarch64/sve/const_pred_3.C
rename to gcc/testsuite/g++.dg/other/sve_const_pred_3.C
index 6196ee05be7b14ed59bec8327278a596b6e1df37..9e75f399e4b38b93394baec677bd720fb6b6b40d 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_3.C
+++ b/gcc/testsuite/g++.dg/other/sve_const_pred_3.C
@@ -1,5 +1,5 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -msve-vector-bits=256" } */
+/* { dg-do compile { target aarch64*-*-* } } */
+/* { dg-options "-O2 -march=armv8.2-a+sve -msve-vector-bits=256" } */
 
 #include <stdint.h>
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_4.C b/gcc/testsuite/g++.dg/other/sve_const_pred_4.C
similarity index 72%
rename from gcc/testsuite/gcc.target/aarch64/sve/const_pred_4.C
rename to gcc/testsuite/g++.dg/other/sve_const_pred_4.C
index 2bdf67fd03861b26c83371a77ddc10992ffa09b5..04a13513380507841aa4de3e7303c7d42a7b18ca 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_4.C
+++ b/gcc/testsuite/g++.dg/other/sve_const_pred_4.C
@@ -1,5 +1,5 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -msve-vector-bits=256" } */
+/* { dg-do compile { target aarch64*-*-* } } */
+/* { dg-options "-O2 -march=armv8.2-a+sve -msve-vector-bits=256" } */
 
 #include <stdint.h>
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/tls_2.C b/gcc/testsuite/g++.dg/other/sve_tls_2.C
similarity index 84%
rename from gcc/testsuite/gcc.target/aarch64/sve/tls_2.C
rename to gcc/testsuite/g++.dg/other/sve_tls_2.C
index c18a737ae041ecf15309633cac903664b9272e7f..d159255fc9498bdb4a4ee1fbac982658a049923a 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/tls_2.C
+++ b/gcc/testsuite/g++.dg/other/sve_tls_2.C
@@ -1,5 +1,5 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -fPIC -msve-vector-bits=256" } */
+/* { dg-do compile { target aarch64*-*-* } } */
+/* { dg-options "-O2 -march=armv8.2-a+sve -fPIC -msve-vector-bits=256" } */
 
 #include <stdint.h>
 
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/vcond_1.C b/gcc/testsuite/gcc.target/aarch64/sve/vcond_1.c
similarity index 96%
rename from gcc/testsuite/gcc.target/aarch64/sve/vcond_1.C
rename to gcc/testsuite/gcc.target/aarch64/sve/vcond_1.c
index 6fd6b420eeff9c8f60f1b0f30704d51f565b99b9..66208425e2ee4240e7d184033a6239bb456da3fe 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/vcond_1.C
+++ b/gcc/testsuite/gcc.target/aarch64/sve/vcond_1.c
@@ -1,17 +1,15 @@
 /* { dg-do assemble { target aarch64_asm_sve_ok } } */
 /* { dg-options "-O -msve-vector-bits=256 --save-temps" } */
 
-#include <stdint.h>
-
-typedef int8_t vnx16qi __attribute__((vector_size(32)));
-typedef int16_t vnx8hi __attribute__((vector_size(32)));
-typedef int32_t vnx4si __attribute__((vector_size(32)));
-typedef int64_t vnx2di __attribute__((vector_size(32)));
-
-typedef uint8_t v32qu __attribute__((vector_size(32)));
-typedef uint16_t v16hu __attribute__((vector_size(32)));
-typedef uint32_t v8su __attribute__((vector_size(32)));
-typedef uint64_t v4du __attribute__((vector_size(32)));
+typedef __INT8_TYPE__ vnx16qi __attribute__((vector_size(32)));
+typedef __INT16_TYPE__ vnx8hi __attribute__((vector_size(32)));
+typedef __INT32_TYPE__ vnx4si __attribute__((vector_size(32)));
+typedef __INT64_TYPE__ vnx2di __attribute__((vector_size(32)));
+
+typedef __UINT8_TYPE__ v32qu __attribute__((vector_size(32)));
+typedef __UINT16_TYPE__ v16hu __attribute__((vector_size(32)));
+typedef __UINT32_TYPE__ v8su __attribute__((vector_size(32)));
+typedef __UINT64_TYPE__ v4du __attribute__((vector_size(32)));
 
 #define DEF_VCOND_VAR(TYPE, COND, SUFFIX)			\
 TYPE vcond_##TYPE##_##SUFFIX (TYPE x, TYPE y, TYPE a, TYPE b)	\
diff --git a/gcc/testsuite/gcc.target/aarch64/sve/vcond_1_run.C b/gcc/testsuite/gcc.target/aarch64/sve/vcond_1_run.c
similarity index 98%
rename from gcc/testsuite/gcc.target/aarch64/sve/vcond_1_run.C
rename to gcc/testsuite/gcc.target/aarch64/sve/vcond_1_run.c
index 2df33710d8fa89e7f0810dd8bf23551921c9d9b7..72dab3942a965edbf7f304f0a12ed62e5e02d826 100644
--- a/gcc/testsuite/gcc.target/aarch64/sve/vcond_1_run.C
+++ b/gcc/testsuite/gcc.target/aarch64/sve/vcond_1_run.c
@@ -2,7 +2,7 @@
 /* { dg-options "-O" } */
 /* { dg-options "-O -msve-vector-bits=256" { target aarch64_sve256_hw } } */
 
-#include "vcond_1.C"
+#include "vcond_1.c"
 
 #define NUM_ELEMS(X) (sizeof (X) / sizeof (X[0]))
 
diff --git a/gcc/testsuite/gcc.target/arm/pr54300.C b/gcc/testsuite/g++.dg/other/pr54300.C
similarity index 97%
rename from gcc/testsuite/gcc.target/arm/pr54300.C
rename to gcc/testsuite/g++.dg/other/pr54300.C
index 9105e279b331180aed8c5cadef2194cfe5b446ea..e16646a3041c855cfa33664be7b493a7461b9821 100644
--- a/gcc/testsuite/gcc.target/arm/pr54300.C
+++ b/gcc/testsuite/g++.dg/other/pr54300.C
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target arm*-*-* } } */
 /* { dg-require-effective-target arm_neon } */
 /* { dg-options "-O2" } */
 /* { dg-add-options arm_neon } */
diff --git a/gcc/testsuite/gcc.target/arm/pr55073.C b/gcc/testsuite/g++.dg/other/pr55073.C
similarity index 98%
rename from gcc/testsuite/gcc.target/arm/pr55073.C
rename to gcc/testsuite/g++.dg/other/pr55073.C
index 5575cf77911a6bd7663eb6a8a6b4c9ece17e17df..859c5d46a09091b2da5ec4446b0527619bb335a1 100644
--- a/gcc/testsuite/gcc.target/arm/pr55073.C
+++ b/gcc/testsuite/g++.dg/other/pr55073.C
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target arm*-*-* } } */
 /* { dg-require-effective-target arm_neon } */
 /* { dg-options "-O2" } */
 /* { dg-add-options arm_neon } */
diff --git a/gcc/testsuite/gcc.target/arm/pr56184.C b/gcc/testsuite/g++.dg/other/pr56184.C
similarity index 99%
rename from gcc/testsuite/gcc.target/arm/pr56184.C
rename to gcc/testsuite/g++.dg/other/pr56184.C
index 82442225603d8cca981a5c9599439e46ac724b75..dc949283c988bd33e9ebd27ff667df14c6d10b07 100644
--- a/gcc/testsuite/gcc.target/arm/pr56184.C
+++ b/gcc/testsuite/g++.dg/other/pr56184.C
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target arm*-*-* } } */
 /* { dg-skip-if "incompatible options" { ! { arm_thumb1_ok || arm_thumb2_ok } } } */
 /* { dg-options "-fno-short-enums -O2 -mthumb -march=armv7-a -mfpu=neon -mfloat-abi=softfp -mtune=cortex-a9 -fno-section-anchors -Wno-return-type" } */
 
diff --git a/gcc/testsuite/gcc.target/arm/pr59985.C b/gcc/testsuite/g++.dg/other/pr59985.C
similarity index 97%
rename from gcc/testsuite/gcc.target/arm/pr59985.C
rename to gcc/testsuite/g++.dg/other/pr59985.C
index ecf72b190b4e649ed9959c39a975356ad8e41f04..7c9bfab35f162dc189922aeeff34183474a57976 100644
--- a/gcc/testsuite/gcc.target/arm/pr59985.C
+++ b/gcc/testsuite/g++.dg/other/pr59985.C
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target arm*-*-* } } */
 /* { dg-skip-if "incompatible options" { arm_thumb1 } } */
 /* { dg-options "-g -fcompare-debug -O2 -march=armv7-a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mfloat-abi=hard" } */
 /* { dg-skip-if "need hardfp abi" { *-*-* } { "-mfloat-abi=soft" } { "" } } */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]