1 // RUN: %clang_cc1 -verify -triple aarch64-none-linux-gnu -target-feature +sve -fsyntax-only %s
2
3 // REQUIRES: aarch64-registered-target
4
5 #include <arm_sve.h>
6
subscript(svint8_t i8,svint16_t i16,svint32_t i32,svint64_t i64,svuint8_t u8,svuint16_t u16,svuint32_t u32,svuint64_t u64,svfloat16_t f16,svfloat32_t f32,svfloat64_t f64,svbool_t b)7 void subscript(svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64,
8 svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64,
9 svfloat16_t f16, svfloat32_t f32, svfloat64_t f64,
10 svbool_t b) {
11 (void)b[0]; // expected-error{{subscript of svbool_t is not allowed}}
12 (void)b[0.f]; // expected-error{{subscript of svbool_t is not allowed}}
13 (void)b[0.]; // expected-error{{subscript of svbool_t is not allowed}}
14
15 (void)i8[0.f]; // expected-error{{array subscript is not an integer}}
16 (void)i8[0.]; // expected-error{{array subscript is not an integer}}
17
18 (void)u8[0.f]; // expected-error{{array subscript is not an integer}}
19 (void)u8[0.]; // expected-error{{array subscript is not an integer}}
20
21 (void)i16[0.f]; // expected-error{{array subscript is not an integer}}
22 (void)i16[0.]; // expected-error{{array subscript is not an integer}}
23
24 (void)u16[0.f]; // expected-error{{array subscript is not an integer}}
25 (void)u16[0.]; // expected-error{{array subscript is not an integer}}
26
27 (void)i32[0.f]; // expected-error{{array subscript is not an integer}}
28 (void)i32[0.]; // expected-error{{array subscript is not an integer}}
29
30 (void)u32[0.f]; // expected-error{{array subscript is not an integer}}
31 (void)u32[0.]; // expected-error{{array subscript is not an integer}}
32
33 (void)i64[0.f]; // expected-error{{array subscript is not an integer}}
34 (void)i64[0.]; // expected-error{{array subscript is not an integer}}
35
36 (void)u64[0.f]; // expected-error{{array subscript is not an integer}}
37 (void)u64[0.]; // expected-error{{array subscript is not an integer}}
38
39 (void)f16[0.f]; // expected-error{{array subscript is not an integer}}
40 (void)f16[0.]; // expected-error{{array subscript is not an integer}}
41
42 (void)f32[0.f]; // expected-error{{array subscript is not an integer}}
43 (void)f32[0.]; // expected-error{{array subscript is not an integer}}
44
45 (void)f64[0.f]; // expected-error{{array subscript is not an integer}}
46 (void)f64[0.]; // expected-error{{array subscript is not an integer}}
47 }
48