modula2: M2MetaError.{def,mod} and P2SymBuild.mod further cleanup
[official-gcc.git] / gcc / testsuite / gcc.dg / pr96377-3.c
blob66dce01f277eb846ac6a35061496cc7057c0f840
1 /* { dg-do compile { target aarch64*-*-* } } */
2 /* { dg-options "-fno-lax-vector-conversions" } */
3 /* { dg-message "use '-flax-vector-conversions' to permit conversions" "" { target *-*-* } 0 } */
5 typedef int v4si __attribute__((vector_size(16)));
6 typedef short v8hi __attribute__((vector_size(16)));
8 struct s { v8hi x; v4si y; };
9 union u1 { v8hi x; v4si y; };
10 union u2 { v4si s; v8hi y; };
12 void
13 foo (__Int32x4_t i, __Int16x8_t h)
15 struct s x1 = { i, i }; // { dg-error "incompatible types when initializing type '__vector" }
16 struct s x2 = { h, h }; // { dg-error "incompatible types" }
17 struct s x3 = { i, h }; // { dg-error "incompatible types" }
18 struct s x4 = { h, i };
20 union u1 y1 = { i }; // { dg-error "incompatible types" }
21 union u1 y2 = { h };
22 union u2 y3 = { i };
23 union u2 y4 = { h }; // { dg-error "incompatible types" }
25 v4si z1[] = { i, i };
26 v4si z2[] = { i, h }; // { dg-error "incompatible types" }
27 v4si z3[] = { h, i }; // { dg-error "incompatible types" }
28 v4si z4[] = { h, h }; // { dg-error "incompatible types" }
29 v8hi z5[] = { i, i }; // { dg-error "incompatible types" }
30 v8hi z6[] = { i, h }; // { dg-error "incompatible types" }
31 v8hi z7[] = { h, i }; // { dg-error "incompatible types" }
32 v8hi z8[] = { h, h };