1 // RUN: %clang_cc1 -triple aarch64 -fsyntax-only -verify -disable-llvm-passes %s 2 test_builtin_vectorelements()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