1 // RUN: %clang_cc1 %s -ast-print | FileCheck %s
2 
3 typedef void func_typedef();
4 func_typedef xxx;
5 
6 typedef void func_t(int x);
7 func_t a;
8 
9 struct blah {
10   struct {
11     struct {
12       int b;
13     };
14   };
15 };
16 
foo(const struct blah * b)17 int foo(const struct blah *b) {
18   // CHECK: return b->b;
19   return b->b;
20 }
21 
arr(int a[static3])22 int arr(int a[static 3]) {
23   // CHECK: int a[static 3]
24   return a[2];
25 }
26 
rarr(int a[restrict static3])27 int rarr(int a[restrict static 3]) {
28   // CHECK: int a[restrict static 3]
29   return a[2];
30 }
31 
varr(int n,int a[static n])32 int varr(int n, int a[static n]) {
33   // CHECK: int a[static n]
34   return a[2];
35 }
36 
rvarr(int n,int a[restrict static n])37 int rvarr(int n, int a[restrict static n]) {
38   // CHECK: int a[restrict static n]
39   return a[2];
40 }
41 
42 typedef struct {
43   int f;
44 } T __attribute__ ((__aligned__));
45 
46 // CHECK: struct __attribute__((visibility("default"))) S;
47 struct __attribute__((visibility("default"))) S;
48