opt_bc.c revision 1.9
1/* $NetBSD: opt_bc.c,v 1.9 2023/06/10 06:38:21 rillig Exp $ */
2
3/*
4 * Tests for the options '-bc' and '-nbc'.
5 *
6 * The option '-bc' forces a newline after each comma in a declaration.
7 *
8 * The option '-nbc' removes line breaks between declarators.  In most other
9 * places, indent preserves line breaks.
10 */
11
12//indent input
13int a,b,c;
14void function_declaration(int a,int b,int c);
15int m1,
16m2,
17m3;
18char plain, *pointer;
19//indent end
20
21//indent run -bc
22int		a,
23		b,
24		c;
25void		function_declaration(int a, int b, int c);
26int		m1,
27		m2,
28		m3;
29char		plain,
30	       *pointer;
31//indent end
32
33//indent run -nbc
34int		a, b, c;
35void		function_declaration(int a, int b, int c);
36int		m1, m2, m3;
37char		plain, *pointer;
38//indent end
39
40
41//indent input
42old_style_definition(a, b, c)
43double a,b,c;
44{
45    return a+b+c;
46}
47//indent end
48
49//indent run -bc
50old_style_definition(a, b, c)
51double		a,
52		b,
53		c;
54{
55	return a + b + c;
56}
57//indent end
58
59//indent run -nbc
60old_style_definition(a, b, c)
61double		a, b, c;
62{
63	return a + b + c;
64}
65//indent end
66
67
68/*
69 * Before indent.c 1.311 from 2023-06-02, indent formatted the two '#if'
70 * branches differently and merged the 'b, c' with the preceding preprocessing
71 * line.
72 */
73//indent input
74int a,
75#if 0
76b, c; int d;
77#else
78b, c; int d;
79#endif
80//indent end
81
82//indent run -bc
83int		a,
84#if 0
85		b,
86		c;
87int		d;
88#else
89		b,
90		c;
91int		d;
92#endif
93//indent end
94
95//indent run -nbc
96int		a,
97#if 0
98		b, c;
99int		d;
100#else
101		b, c;
102int		d;
103#endif
104//indent end
105
106
107/*
108 * A '(' at the top level is taken to start a function definition, leaving
109 * variable declaration mode.
110 */
111//indent input
112int a = 1, b = 2;
113int a = (1), b = 2;
114//indent end
115
116//indent run -bc
117int		a = 1,
118		b = 2;
119// $ FIXME: Missing line break.
120int		a = (1), b = 2;
121//indent end
122