From: Iain Buclaw Date: Sun, 2 Jul 2023 22:54:14 +0000 (+0200) Subject: d: Fix testcase failure of gdc.dg/Wbuiltin_declaration_mismatch2.d. X-Git-Tag: basepoints/gcc-15~7896 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1bff9e625b4d2cd2847fcaae4a478ad33b4f86c3;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/testsuite/gdc.dg/Wbuiltin_declaration_mismatch2.d b/gcc/testsuite/gdc.dg/Wbuiltin_declaration_mismatch2.d index 7b83fffae584..0d12bcb8b079 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()