1// RUN: %clang_cc1 -fsyntax-only -verify %s
2
3struct foo { int a; };
4
5int main() {
6  int a;
7  float b;
8  double d;
9  struct foo s;
10
11  static int ary[__builtin_classify_type(a)];
12  static int ary2[(__builtin_classify_type)(a)]; // expected-error{{variable length array declaration cannot have 'static' storage duration}}
13  static int ary3[(*__builtin_classify_type)(a)]; // expected-error{{builtin functions must be directly called}}
14
15  int result;
16
17  result =  __builtin_classify_type(a);
18  result =  __builtin_classify_type(b);
19  result =  __builtin_classify_type(d);
20  result =  __builtin_classify_type(s);
21}
22