fmt_decl.c revision 1.4 1 1.4 rillig /* $NetBSD: fmt_decl.c,v 1.4 2021/10/26 23:37:40 rillig Exp $ */
2 1.1 rillig /* $FreeBSD: head/usr.bin/indent/tests/declarations.0 334478 2018-06-01 09:41:15Z pstef $ */
3 1.1 rillig
4 1.1 rillig /* See FreeBSD r303570 */
5 1.1 rillig
6 1.1 rillig #indent input
7 1.1 rillig typedef void (*voidptr) (int *);
8 1.1 rillig #indent end
9 1.1 rillig
10 1.1 rillig #indent run
11 1.1 rillig typedef void (*voidptr)(int *);
12 1.1 rillig #indent end
13 1.1 rillig
14 1.1 rillig
15 1.1 rillig #indent input
16 1.1 rillig static const struct
17 1.1 rillig {
18 1.1 rillig double x;
19 1.1 rillig double y, z;
20 1.1 rillig } n[m + 1] =
21 1.1 rillig {
22 1.1 rillig {
23 1.1 rillig .0,
24 1.1 rillig .9,
25 1.1 rillig 5
26 1.1 rillig }
27 1.1 rillig };
28 1.1 rillig #indent end
29 1.1 rillig
30 1.1 rillig #indent run
31 1.1 rillig static const struct {
32 1.1 rillig double x;
33 1.1 rillig double y, z;
34 1.1 rillig } n[m + 1] =
35 1.1 rillig {
36 1.1 rillig {
37 1.1 rillig .0,
38 1.1 rillig .9,
39 1.1 rillig 5
40 1.1 rillig }
41 1.1 rillig };
42 1.1 rillig #indent end
43 1.1 rillig
44 1.1 rillig
45 1.1 rillig #indent input
46 1.1 rillig typedef struct Complex
47 1.1 rillig {
48 1.1 rillig double x;
49 1.1 rillig double y;
50 1.1 rillig } Complex;
51 1.1 rillig #indent end
52 1.1 rillig
53 1.1 rillig #indent run
54 1.1 rillig typedef struct Complex {
55 1.1 rillig double x;
56 1.1 rillig double y;
57 1.1 rillig } Complex;
58 1.1 rillig #indent end
59 1.1 rillig
60 1.1 rillig
61 1.1 rillig #indent input
62 1.1 rillig void
63 1.1 rillig t1 (char *a, int b,
64 1.1 rillig void (*fn)(void))
65 1.1 rillig {}
66 1.1 rillig #indent end
67 1.1 rillig
68 1.1 rillig #indent run
69 1.1 rillig void
70 1.1 rillig t1(char *a, int b,
71 1.1 rillig void (*fn)(void))
72 1.1 rillig {
73 1.1 rillig }
74 1.1 rillig #indent end
75 1.1 rillig
76 1.1 rillig
77 1.1 rillig #indent input
78 1.1 rillig void t2 (char *x, int y)
79 1.1 rillig {
80 1.1 rillig int a,
81 1.1 rillig b,
82 1.1 rillig c;
83 1.1 rillig int
84 1.1 rillig *d,
85 1.1 rillig *e,
86 1.1 rillig *f;
87 1.1 rillig int (*g)(),
88 1.1 rillig (*h)(),
89 1.1 rillig (*i)();
90 1.1 rillig int j,
91 1.1 rillig k,
92 1.1 rillig l;
93 1.1 rillig int m
94 1.1 rillig ,n
95 1.1 rillig ,o
96 1.1 rillig ;
97 1.1 rillig int chars[ /* push the comma beyond column 74 .... */ ], x;
98 1.1 rillig }
99 1.1 rillig #indent end
100 1.1 rillig
101 1.1 rillig #indent run
102 1.1 rillig void
103 1.1 rillig t2(char *x, int y)
104 1.1 rillig {
105 1.1 rillig int a, b, c;
106 1.1 rillig int
107 1.1 rillig *d, *e, *f;
108 1.1 rillig int (*g)(), (*h)(), (*i)();
109 1.1 rillig int j, k, l;
110 1.1 rillig int m
111 1.1 rillig ,n
112 1.1 rillig ,o
113 1.1 rillig ;
114 1.1 rillig int chars[ /* push the comma beyond column 74 .... */ ],
115 1.1 rillig x;
116 1.1 rillig }
117 1.1 rillig #indent end
118 1.1 rillig
119 1.1 rillig
120 1.1 rillig #indent input
121 1.1 rillig const int int_minimum_size =
122 1.1 rillig MAXALIGN(offsetof(int, test)) + MAXIMUM_ALIGNOF;
123 1.1 rillig #indent end
124 1.1 rillig
125 1.1 rillig #indent run-equals-input
126 1.1 rillig
127 1.1 rillig
128 1.1 rillig #indent input
129 1.1 rillig int *int_create(void)
130 1.1 rillig {
131 1.1 rillig
132 1.1 rillig }
133 1.1 rillig #indent end
134 1.1 rillig
135 1.1 rillig #indent run
136 1.1 rillig int *
137 1.1 rillig int_create(void)
138 1.1 rillig {
139 1.1 rillig
140 1.1 rillig }
141 1.1 rillig #indent end
142 1.1 rillig
143 1.1 rillig
144 1.1 rillig #indent input
145 1.1 rillig static
146 1.1 rillig _attribute_printf(1, 2)
147 1.1 rillig void
148 1.1 rillig print_error(const char *fmt,...)
149 1.1 rillig {
150 1.1 rillig }
151 1.1 rillig #indent end
152 1.1 rillig
153 1.1 rillig #indent run
154 1.1 rillig static
155 1.1 rillig _attribute_printf(1, 2)
156 1.1 rillig void
157 1.1 rillig print_error(const char *fmt, ...)
158 1.1 rillig {
159 1.2 rillig }
160 1.2 rillig #indent end
161 1.2 rillig
162 1.2 rillig
163 1.2 rillig #indent input
164 1.2 rillig static _attribute_printf(1, 2)
165 1.2 rillig void
166 1.2 rillig print_error(const char *fmt,...)
167 1.2 rillig {
168 1.2 rillig }
169 1.2 rillig #indent end
170 1.1 rillig
171 1.2 rillig #indent run
172 1.2 rillig static _attribute_printf(1, 2)
173 1.2 rillig void
174 1.2 rillig print_error(const char *fmt, ...)
175 1.2 rillig {
176 1.2 rillig }
177 1.2 rillig #indent end
178 1.2 rillig
179 1.2 rillig
180 1.2 rillig #indent input
181 1.2 rillig static void _attribute_printf(1, 2)
182 1.2 rillig print_error(const char *fmt,...)
183 1.2 rillig {
184 1.2 rillig }
185 1.2 rillig #indent end
186 1.2 rillig
187 1.2 rillig #indent run
188 1.2 rillig static void
189 1.2 rillig _attribute_printf(1, 2)
190 1.2 rillig print_error(const char *fmt, ...)
191 1.2 rillig {
192 1.1 rillig }
193 1.1 rillig #indent end
194 1.1 rillig
195 1.1 rillig
196 1.3 rillig /* See FreeBSD r309380 */
197 1.1 rillig #indent input
198 1.1 rillig static LIST_HEAD(, alq) ald_active;
199 1.1 rillig static int ald_shutingdown = 0;
200 1.1 rillig struct thread *ald_thread;
201 1.1 rillig #indent end
202 1.1 rillig
203 1.1 rillig #indent run
204 1.1 rillig static LIST_HEAD(, alq) ald_active;
205 1.1 rillig static int ald_shutingdown = 0;
206 1.1 rillig struct thread *ald_thread;
207 1.1 rillig #indent end
208 1.1 rillig
209 1.1 rillig
210 1.1 rillig #indent input
211 1.1 rillig static int
212 1.2 rillig old_style_definition(a, b, c)
213 1.2 rillig struct thread *a;
214 1.2 rillig int b;
215 1.2 rillig double ***c;
216 1.1 rillig {
217 1.1 rillig
218 1.1 rillig }
219 1.1 rillig #indent end
220 1.1 rillig
221 1.1 rillig #indent run
222 1.1 rillig static int
223 1.2 rillig old_style_definition(a, b, c)
224 1.2 rillig struct thread *a;
225 1.2 rillig int b;
226 1.2 rillig double ***c;
227 1.1 rillig {
228 1.1 rillig
229 1.1 rillig }
230 1.1 rillig #indent end
231 1.1 rillig
232 1.1 rillig
233 1.1 rillig /*
234 1.1 rillig * Demonstrate how variable declarations are broken into several lines when
235 1.1 rillig * the line length limit is set quite low.
236 1.1 rillig */
237 1.1 rillig #indent input
238 1.1 rillig struct s0 a,b;
239 1.1 rillig struct s01 a,b;
240 1.1 rillig struct s012 a,b;
241 1.1 rillig struct s0123 a,b;
242 1.1 rillig struct s01234 a,b;
243 1.1 rillig struct s012345 a,b;
244 1.1 rillig struct s0123456 a,b;
245 1.1 rillig struct s01234567 a,b;
246 1.1 rillig struct s012345678 a,b;
247 1.1 rillig struct s0123456789 a,b;
248 1.1 rillig struct s01234567890 a,b;
249 1.1 rillig struct s012345678901 a,b;
250 1.1 rillig struct s0123456789012 a,b;
251 1.1 rillig struct s01234567890123 a,b;
252 1.1 rillig #indent end
253 1.1 rillig
254 1.1 rillig #indent run -l20 -di0
255 1.1 rillig /* $ XXX: Why is this declaration broken? There's plenty of space left. */
256 1.1 rillig struct s0 a,
257 1.1 rillig b;
258 1.1 rillig struct s01 a,
259 1.1 rillig b;
260 1.1 rillig struct s012 a,
261 1.1 rillig b;
262 1.1 rillig struct s0123 a,
263 1.1 rillig b;
264 1.1 rillig struct s01234 a,
265 1.1 rillig b;
266 1.1 rillig struct s012345 a,
267 1.1 rillig b;
268 1.1 rillig struct s0123456 a,
269 1.1 rillig b;
270 1.1 rillig struct s01234567 a,
271 1.1 rillig b;
272 1.1 rillig struct s012345678 a,
273 1.1 rillig b;
274 1.1 rillig struct s0123456789 a,
275 1.1 rillig b;
276 1.1 rillig struct s01234567890 a,
277 1.1 rillig b;
278 1.1 rillig struct s012345678901 a,
279 1.1 rillig b;
280 1.1 rillig struct s0123456789012 a,
281 1.1 rillig b;
282 1.1 rillig struct s01234567890123 a,
283 1.1 rillig b;
284 1.1 rillig #indent end
285 1.2 rillig
286 1.2 rillig
287 1.2 rillig #indent input
288 1.2 rillig char * x(void)
289 1.2 rillig {
290 1.2 rillig type identifier;
291 1.2 rillig type *pointer;
292 1.2 rillig unused * value;
293 1.2 rillig (void)unused * value;
294 1.2 rillig
295 1.2 rillig dmax = (double)3 * 10.0;
296 1.2 rillig dmin = (double)dmax * 10.0;
297 1.2 rillig davg = (double)dmax * dmin;
298 1.2 rillig
299 1.2 rillig return NULL;
300 1.2 rillig }
301 1.2 rillig #indent end
302 1.2 rillig
303 1.2 rillig #indent run
304 1.2 rillig char *
305 1.2 rillig x(void)
306 1.2 rillig {
307 1.2 rillig type identifier;
308 1.2 rillig type *pointer;
309 1.2 rillig unused *value;
310 1.2 rillig (void)unused * value;
311 1.2 rillig
312 1.2 rillig dmax = (double)3 * 10.0;
313 1.2 rillig dmin = (double)dmax * 10.0;
314 1.2 rillig davg = (double)dmax * dmin;
315 1.2 rillig
316 1.2 rillig return NULL;
317 1.2 rillig }
318 1.2 rillig #indent end
319 1.2 rillig
320 1.2 rillig #indent input
321 1.2 rillig int *
322 1.2 rillig y(void) {
323 1.2 rillig
324 1.2 rillig }
325 1.2 rillig
326 1.2 rillig int
327 1.2 rillig z(void) {
328 1.2 rillig
329 1.2 rillig }
330 1.2 rillig #indent end
331 1.2 rillig
332 1.2 rillig #indent run
333 1.2 rillig int *
334 1.2 rillig y(void)
335 1.2 rillig {
336 1.2 rillig
337 1.2 rillig }
338 1.2 rillig
339 1.2 rillig int
340 1.2 rillig z(void)
341 1.2 rillig {
342 1.2 rillig
343 1.2 rillig }
344 1.2 rillig #indent end
345 1.2 rillig
346 1.2 rillig
347 1.2 rillig #indent input
348 1.2 rillig int x;
349 1.2 rillig int *y;
350 1.2 rillig int * * * * z;
351 1.2 rillig #indent end
352 1.2 rillig
353 1.2 rillig #indent run
354 1.2 rillig int x;
355 1.2 rillig int *y;
356 1.2 rillig int ****z;
357 1.2 rillig #indent end
358 1.4 rillig
359 1.4 rillig
360 1.4 rillig #indent input
361 1.4 rillig int main(void) {
362 1.4 rillig char (*f1)() = NULL;
363 1.4 rillig char *(*f1)() = NULL;
364 1.4 rillig char *(*f2)();
365 1.4 rillig }
366 1.4 rillig #indent end
367 1.4 rillig
368 1.4 rillig #indent run -ldi0
369 1.4 rillig int
370 1.4 rillig main(void)
371 1.4 rillig {
372 1.4 rillig char (*f1)() = NULL;
373 1.4 rillig /* $ FIXME: The following declaration must be indented. */
374 1.4 rillig char *(*f1)() = NULL;
375 1.4 rillig /* $ FIXME: The following declaration must be indented. */
376 1.4 rillig char *(*f2)();
377 1.4 rillig }
378 1.4 rillig #indent end
379