diff mbox series

[committed] d: Fix testcase failure of gdc.dg/Wbuiltin_declaration_mismatch2.d.

Message ID 20230702232339.3957011-1-ibuclaw@gdcproject.org
State New
Headers show
Series [committed] d: Fix testcase failure of gdc.dg/Wbuiltin_declaration_mismatch2.d. | expand

Commit Message

Iain Buclaw July 2, 2023, 11:23 p.m. UTC
Hi,

Seen at least on aarch64-*-darwin, the parameters used to instantiate
the shufflevector intrinsic meant the return type was __vector(int[1]),
which resulted in the error:

    vector type '__vector(int[1])' is not supported on this platform.

All instantiations have now been fixed so the expected warning/error is
now given by the compiler.

Regression tested on x86_64-linux-gnu/-m32, committed to mainline, and
backported to releases/gcc-13.

Regards,
Iain.

---
gcc/testsuite/ChangeLog:

	* gdc.dg/Wbuiltin_declaration_mismatch2.d: Fix failed tests.
---
 .../gdc.dg/Wbuiltin_declaration_mismatch2.d   | 44 +++++++++----------
 1 file changed, 22 insertions(+), 22 deletions(-)
diff mbox series

Patch

diff --git a/gcc/testsuite/gdc.dg/Wbuiltin_declaration_mismatch2.d b/gcc/testsuite/gdc.dg/Wbuiltin_declaration_mismatch2.d
index 7b83fffae58..0d12bcb8b07 100644
--- a/gcc/testsuite/gdc.dg/Wbuiltin_declaration_mismatch2.d
+++ b/gcc/testsuite/gdc.dg/Wbuiltin_declaration_mismatch2.d
@@ -77,32 +77,32 @@  void test_shuffle()
 
 void test_shufflevector()
 {
-    shufflevector!(int, int4, int)(0, 0, 0); // { dg-warning "mismatch in argument 1" }
-    shufflevector!(double, int4, int)(0, 0, 0); // { dg-warning "mismatch in argument 1" }
-    shufflevector!(fake4, int4, int)(f, 0, 0); // { dg-warning "mismatch in argument 1" }
-
-    shufflevector!(int4, int, int)(0, 0, 0); // { dg-warning "mismatch in argument 2" }
-    shufflevector!(int4, double, int)(0, 0, 0); // { dg-warning "mismatch in argument 2" }
-    shufflevector!(int4, int4, int)(0, 0, 0);
-    shufflevector!(int4, short8, int)(0, 0, 0); // { dg-error "mismatch in argument 2" }
-    shufflevector!(int4, float4, int)(0, 0, 0); // { dg-error "mismatch in argument 2" }
-    shufflevector!(int4, byte16, int)(0, 0, 0); // { dg-error "mismatch in argument 2" }
-    shufflevector!(int4, fake4, int)(0, f, 0); // { dg-warning "mismatch in argument 2" }
-
-    shufflevector!(int4, int4, double)(0, 0, 0); // { dg-warning "mismatch in argument 3" }
-    shufflevector!(int4, int4, int4)(0, 0, 0); // { dg-warning "mismatch in argument 3" }
-    shufflevector!(int4, int4, short8)(0, 0, 0); // { dg-warning "mismatch in argument 3" }
-    shufflevector!(int4, int4, float4)(0, 0, 0); // { dg-warning "mismatch in argument 3" }
-    shufflevector!(int4, int4, byte16)(0, 0, 0); // { dg-warning "mismatch in argument 3" }
-
-    shufflevector!(int4, int4, int, double)(0, 0, 0, 0); // { dg-warning "mismatch in argument 4" }
+    shufflevector!(int, int4, int, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 1" }
+    shufflevector!(double, int4, int, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 1" }
+    shufflevector!(fake4, int4, int, int, int, int)(f, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 1" }
+
+    shufflevector!(int4, int, int, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 2" }
+    shufflevector!(int4, double, int, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 2" }
+    shufflevector!(int4, int4, int, int, int, int)(0, 0, 0, 0, 0, 0);
+    shufflevector!(int4, short8, int, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-error "mismatch in argument 2" }
+    shufflevector!(int4, float4, int, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-error "mismatch in argument 2" }
+    shufflevector!(int4, byte16, int, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-error "mismatch in argument 2" }
+    shufflevector!(int4, fake4, int, int, int, int)(0, f, 0, 0, 0, 0); // { dg-warning "mismatch in argument 2" }
+
+    shufflevector!(int4, int4, double, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 3" }
+    shufflevector!(int4, int4, int4, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 3" }
+    shufflevector!(int4, int4, short8, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 3" }
+    shufflevector!(int4, int4, float4, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 3" }
+    shufflevector!(int4, int4, byte16, int, int, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 3" }
+
+    shufflevector!(int4, int4, int, double, int, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 4" }
     shufflevector!(int4, int4, int, int, double, int)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 5" }
     shufflevector!(int4, int4, int, int, int, double)(0, 0, 0, 0, 0, 0); // { dg-warning "mismatch in argument 6" }
 
     int i;
-    shufflevector!(int4, int4, int)(0, 0, i); // { dg-error "argument .i. cannot be read at compile time" }
-    shufflevector!(int4, int4, int)(0, 0, -1u); // { dg-error "element index .-1. is out of bounds" }
-    shufflevector!(int4, int4, int)(0, 0, 8); // { dg-error "element index .8. is out of bounds" }
+    shufflevector!(int4, int4, int, int, int, int)(0, 0, i, 0, 0, 0); // { dg-error "argument .i. cannot be read at compile time" }
+    shufflevector!(int4, int4, int, int, int, int)(0, 0, -1u, 0, 0, 0); // { dg-error "element index .-1. is out of bounds" }
+    shufflevector!(int4, int4, int, int, int, int)(0, 0, 8, 0, 0, 0); // { dg-error "element index .8. is out of bounds" }
 }
 
 void test_convertvector()