blob: 63fd8e28045a1a3ef6c72102a39dfeeedc8d45d8 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
Steve Naroff13b7c5f2007-08-08 22:15:55 +00002
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)];
Stephen Hines651f13c2014-04-23 16:59:28 -070012 static int ary2[(__builtin_classify_type)(a)]; // expected-error{{variable length array declaration cannot have 'static' storage duration}}
Eli Friedmana6c66ce2012-08-31 00:14:07 +000013 static int ary3[(*__builtin_classify_type)(a)]; // expected-error{{builtin functions must be directly called}}
Steve Naroff13b7c5f2007-08-08 22:15:55 +000014
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}