24 lines · c
1// RUN: %clang_cc1 -triple aarch64 -fsyntax-only -verify -disable-llvm-passes %s2 3void test_builtin_vectorelements() {4 __builtin_vectorelements(int); // expected-error {{argument to __builtin_vectorelements must be of vector type}}5 __builtin_vectorelements(float); // expected-error {{argument to __builtin_vectorelements must be of vector type}}6 __builtin_vectorelements(long*); // expected-error {{argument to __builtin_vectorelements must be of vector type}}7 8 int a;9 __builtin_vectorelements(a); // expected-error {{argument to __builtin_vectorelements must be of vector type}}10 11 typedef int veci4 __attribute__((vector_size(16)));12 (void) __builtin_vectorelements(veci4);13 14 veci4 vec;15 (void) __builtin_vectorelements(vec);16 17 typedef veci4 some_other_vec;18 (void) __builtin_vectorelements(some_other_vec);19 20 struct Foo { int a; };21 __builtin_vectorelements(struct Foo); // expected-error {{argument to __builtin_vectorelements must be of vector type}}22}23 24