The tests for sizeless SVE types include checks that the types are handled for initialisation purposes in the same way as scalars. GNU C and C2x now allow scalars to be initialised using empty braces, so this patch updates the SVE tests to match.
Tested on aarch64-linux-gnu & pushed. Richard gcc/testsuite/ * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c: Update tests for empty initializers. * gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c: Likewise. * gcc.target/aarch64/sve/acle/general-c/sizeless-1.c: Likewise. * gcc.target/aarch64/sve/acle/general-c/sizeless-2.c: Likewise. --- .../gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c | 4 ++-- .../gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c | 4 ++-- .../gcc.target/aarch64/sve/acle/general-c/sizeless-1.c | 4 ++-- .../gcc.target/aarch64/sve/acle/general-c/sizeless-2.c | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c index 285751eebc4..9db9535831a 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/gnu_vectors_1.c @@ -12,7 +12,7 @@ f (svuint8_t sve_u1, svint8_t sve_s1, /* Initialization. */ svuint8_t init_sve_u1 = 0; /* { dg-error {incompatible types when initializing type 'svuint8_t' using type 'int'} } */ - svuint8_t init_sve_u2 = {}; /* { dg-error {empty scalar initializer} } */ + svuint8_t init_sve_u2 = {}; svuint8_t init_sve_u3 = { sve_u1 }; svuint8_t init_sve_u4 = { gnu_u1 }; svuint8_t init_sve_u5 = { sve_s1 }; /* { dg-error {incompatible types when initializing type 'svuint8_t' using type 'svint8_t'} } */ @@ -31,7 +31,7 @@ f (svuint8_t sve_u1, svint8_t sve_s1, /* Compound literals. */ - (svuint8_t) {}; /* { dg-error {empty scalar initializer} } */ + (svuint8_t) {}; (svuint8_t) { 0 }; /* { dg-error {incompatible types when initializing type 'svuint8_t' using type 'int'} } */ (svuint8_t) { sve_u1 }; (svuint8_t) { gnu_u1 }; diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c index 306fd478047..c05b16406a4 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/gnu_vectors_2.c @@ -12,7 +12,7 @@ f (svuint8_t sve_u1, svint8_t sve_s1, /* Initialization. */ svuint8_t init_sve_u1 = 0; /* { dg-error {incompatible types when initializing type 'svuint8_t' using type 'int'} } */ - svuint8_t init_sve_u2 = {}; /* { dg-error {empty scalar initializer} } */ + svuint8_t init_sve_u2 = {}; svuint8_t init_sve_u3 = { sve_u1 }; svuint8_t init_sve_u4 = { gnu_u1 }; svuint8_t init_sve_u5 = { sve_s1 }; @@ -31,7 +31,7 @@ f (svuint8_t sve_u1, svint8_t sve_s1, /* Compound literals. */ - (svuint8_t) {}; /* { dg-error {empty scalar initializer} } */ + (svuint8_t) {}; (svuint8_t) { 0 }; /* { dg-error {incompatible types when initializing type 'svuint8_t' using type 'int'} } */ (svuint8_t) { sve_u1 }; (svuint8_t) { gnu_u1 }; diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/sizeless-1.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/sizeless-1.c index 7fc51e7ad18..4b34a71c1fe 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/sizeless-1.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/sizeless-1.c @@ -66,14 +66,14 @@ statements (int n) svint8_t init_sve_sc1 = sve_sc1; svint8_t init_sve_sc2 = sve_sh1; /* { dg-error {incompatible types when initializing type 'svint8_t' using type 'svint16_t'} } */ - svint8_t init_sve_sc3 = {}; /* { dg-error {empty scalar initializer} } */ + svint8_t init_sve_sc3 = {}; int initi_a = sve_sc1; /* { dg-error {incompatible types when initializing type 'int' using type 'svint8_t'} } */ int initi_b = { sve_sc1 }; /* { dg-error {incompatible types when initializing type 'int' using type 'svint8_t'} } */ /* Compound literals. */ - (svint8_t) {}; /* { dg-error {empty scalar initializer} } */ + (svint8_t) {}; (svint8_t) { sve_sc1 }; (int) { sve_sc1 }; /* { dg-error {incompatible types when initializing type 'int' using type 'svint8_t'} } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/sizeless-2.c b/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/sizeless-2.c index c575492c1f8..34dfd598e32 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/sizeless-2.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/acle/general-c/sizeless-2.c @@ -66,14 +66,14 @@ statements (int n) svint8_t init_sve_sc1 = sve_sc1; svint8_t init_sve_sc2 = sve_sh1; /* { dg-error {incompatible types when initializing type 'svint8_t' using type 'svint16_t'} } */ - svint8_t init_sve_sc3 = {}; /* { dg-error {empty scalar initializer} } */ + svint8_t init_sve_sc3 = {}; int initi_a = sve_sc1; /* { dg-error {incompatible types when initializing type 'int' using type 'svint8_t'} } */ int initi_b = { sve_sc1 }; /* { dg-error {incompatible types when initializing type 'int' using type 'svint8_t'} } */ /* Compound literals. */ - (svint8_t) {}; /* { dg-error {empty scalar initializer} } */ + (svint8_t) {}; (svint8_t) { sve_sc1 }; (int) { sve_sc1 }; /* { dg-error {incompatible types when initializing type 'int' using type 'svint8_t'} } */ -- 2.25.1