1 // REQUIRES: aarch64-registered-target
2 // RUN: %clang_cc1 %s -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only -verify
3 // expected-no-diagnostics
5 // This test makes sure that the enum declarations in section "5. Enum
6 // declarations" of the SVE ACLE [1] are not presented as typedefs in
7 // `arm_sve.h`. It does so by creating a typedef'd struct with the
8 // same identifier as the one defined in `arm_sve.h`, then checking that
9 // it does not overload the enum defined in `arm_sve.h`.
11 // [1] https://developer.arm.com/documentation/100987/latest version 00bet6
13 typedef struct { float f
; } svpattern
;
14 typedef struct { float f
; } svprfop
;
16 enum svpattern a1
= SV_ALL
;
17 svpattern b1
= {1.0f
};
18 enum svprfop a2
= SV_PLDL1KEEP
;