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
; };
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" }
23 union u2 y4
= { h
}; // { dg-error "incompatible types" }
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" }