• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 %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.
a()13 int a() {
14   __int128_t s;
15   __uint128_t t;
16 }
17 // but not a keyword
b()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 element type}}
40