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