From 1bff9e625b4d2cd2847fcaae4a478ad33b4f86c3 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Mon, 3 Jul 2023 00:54:14 +0200 Subject: [PATCH] d: Fix testcase failure of gdc.dg/Wbuiltin_declaration_mismatch2.d. 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. gcc/testsuite/ChangeLog: * gdc.dg/Wbuiltin_declaration_mismatch2.d: Fix failed tests. --- .../gdc.dg/Wbuiltin_declaration_mismatch2.d | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) 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!(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)(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, 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)(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, 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)(0, 0, 0, 0); // { dg-warning "mismatch in argument 4" } + 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()