source: src/tests/functions.c@ 9c791dd

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors ctor deferred_resn demangler enum forall-pointer-decay jacob/cs343-translation jenkins-sandbox memory new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new with_gc
Last change on this file since 9c791dd was e757af2, checked in by Thierry Delisle <tdelisle@…>, 9 years ago

renamed all tests to lower-case leading character

  • Property mode set to 100644
File size: 2.6 KB
Line 
1// ANSI function definitions
2
3void h(void) {}
4
5int f (
6 int (void),
7 int (int),
8 int ((void)),
9 int ((int)),
10 void g(void)
11 ) {
12 (*g)();
13 g();
14 g = h;
15}
16
17int f1() {}
18int (f2()) {}
19int (*f3())() {}
20int *((f4())) {}
21int ((*f5()))() {}
22int *f6() {}
23int *(f7)() {}
24int **f8() {}
25int * const *(f9)() {}
26int (*f10())[] {}
27int (*f11())[][3] {}
28int ((*f12())[])[3] {}
29
30// "implicit int" otype specifier (not ANSI)
31
32fII1( int i ) {}
33const fII2( int i ) {}
34extern fII3( int i ) {}
35extern const fII4( int i ) {}
36
37*fII5() {}
38const *fII6() {}
39const long *fII7() {}
40static const long *fII8() {}
41const static long *fII9() {}
42
43// K&R function definitions
44
45fO1( i ) int i; {}
46int fO2( i ) int i; {}
47const fO3( i ) int i; {}
48extern fO4( i ) int i; {}
49extern const fO5( i ) int i; {}
50
51// Cforall extensions
52
53[] f( );
54[int] f( );
55[] f(int);
56[int] f(int);
57[] f( ) {}
58[int] f( ) {}
59[] f(int) {}
60[int] f(int) {}
61
62[int x] f( );
63[] f(int x);
64[int x] f(int x);
65[int x] f( ) {}
66[] f(int x) {}
67[int x] f(int x) {}
68
69[int, int x] f( );
70[] f(int, int x);
71[int, int x] f(int, int x);
72[int, int x] f( ) {}
73[] f(int, int x) {}
74[int, int x] f(int, int x) {}
75
76[int, int x, int] f( );
77[] f(int, int x, int);
78[int, int x, int] f(int, int x, int);
79[int, int x, int] f( ) {}
80[] f(int, int x, int) {}
81[int, int x, int] f(int, int x, int) {}
82
83[int, int x, * int y] f( );
84[] f(int, int x, * int y);
85[int, int x, * int y] f(int, int x, * int y);
86[int, int x, * int y] f( ) {}
87[] f(int, int x, * int y) {}
88[int, int x, * int y] f(int, int x, * int y) {}
89
90[ int ] f11( int ), f12; // => int f11( int ), f12( int );
91
92[int] f(
93 int ( int, int p ),
94 [int](int)
95 ) {
96 int (*(*p)[][10])[][3];
97 * [][10] * [][3] int p;
98 * [] * [int](int) p;
99}
100
101static const int *f1() {}
102static [ const int ] f2() {}
103static inline [ const * int ] f3() {}
104static inline [ const [ * int, int ] ] f4() {}
105static [ const [ * int, const int ] ] f5() {}
106
107// unnamed parameter
108
109int f(
110 int (),
111
112 int *(),
113 int **(),
114 int * const *(),
115 int * const * const (),
116
117 int ([]),
118 int ([10]),
119
120 int *([]),
121 int *([10]),
122 int **([]),
123 int **([10]),
124 int * const *([]),
125 int * const *([10]),
126 int * const * const ([]),
127 int * const * const ([10])
128 );
129
130int f(
131 int (),
132
133 int *(),
134 int **(),
135 int * const *(),
136 int * const * const (),
137
138 int ([]),
139 int ([10]),
140
141 int *([]),
142 int *([10]),
143 int **([]),
144 int **([10]),
145 int * const *([]),
146 int * const *([10]),
147 int * const * const ([]),
148 int * const * const ([10])
149 ) {
150}
151
152typedef int T;
153
154int f( T (*f), T t ) {
155 T (T);
156}
157
158// errors
159
160//int f()[] {}
161//int (f[])() {}
162//int f[]() {}
163//int ((*f15())())[] {}
164
165// Local Variables: //
166// tab-width: 4 //
167// End: //
Note: See TracBrowser for help on using the repository browser.