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