]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Sema/types.c
Import Clang, at r72732.
[FreeBSD/FreeBSD.git] / test / Sema / types.c
1 // RUN: clang-cc %s -pedantic -verify -triple=x86_64-apple-darwin9
2
3 // rdar://6097662
4 typedef int (*T)[2];
5 restrict T x;
6
7 typedef int *S[2];
8 restrict S y; // expected-error {{restrict requires a pointer or reference ('S' (aka 'int *[2]') is invalid)}}
9
10
11
12 // int128_t is available.
13 int a() {
14   __int128_t s;
15   __uint128_t t;
16 }
17 // but not a keyword
18 int b() {
19   int __int128_t;
20   int __uint128_t;
21 }
22
23
24 // Array type merging should convert array size to whatever matches the target
25 // pointer size.
26 // rdar://6880874
27 extern int i[1LL];
28 int i[(short)1];
29
30 enum e { e_1 };
31 extern int j[sizeof(enum e)];  // expected-note {{previous definition}}
32 int j[42];   // expected-error {{redefinition of 'j' with a different type}}
33
34 // rdar://6880104
35 _Decimal32 x;  // expected-error {{GNU decimal type extension not supported}}
36
37
38 // rdar://6880951
39 int __attribute__ ((vector_size (8), vector_size (8))) v;  // expected-error {{invalid vector type}}