1*eead4095Srillig /* $NetBSD: opt_dj.c,v 1.9 2023/06/26 12:21:18 rillig Exp $ */
20c07b89fSrillig
3ec30234bSrillig /*
4ec30234bSrillig * Tests for the options '-dj' and '-ndj'.
5ec30234bSrillig *
695e11159Srillig * The option '-dj' left-justifies declarations of local variables.
7ec30234bSrillig *
8ec30234bSrillig * The option '-ndj' indents declarations the same as code.
9ec30234bSrillig */
10ec30234bSrillig
11ec30234bSrillig /* For top-level declarations, '-dj' and '-ndj' produce the same output. */
1247306038Srillig //indent input
130c07b89fSrillig int i;
140c07b89fSrillig int *ip;
150c07b89fSrillig const char *ccp;
160c07b89fSrillig const void *****vppppp;
170c07b89fSrillig const void ******vpppppp;
180c07b89fSrillig const void ********vpppppppp;
1947306038Srillig //indent end
200c07b89fSrillig
2147306038Srillig //indent run -dj
220c07b89fSrillig int i;
230c07b89fSrillig int *ip;
240c07b89fSrillig const char *ccp;
250c07b89fSrillig const void *****vppppp;
260c07b89fSrillig const void ******vpppppp;
270c07b89fSrillig const void ********vpppppppp;
2847306038Srillig //indent end
290c07b89fSrillig
3047306038Srillig //indent run-equals-prev-output -ndj
310c07b89fSrillig
327a5fe476Srillig
3347306038Srillig //indent input
example(void)34ec30234bSrillig void example(void) {
35ec30234bSrillig int decl;
36ec30234bSrillig code();
37ec30234bSrillig }
3847306038Srillig //indent end
390c07b89fSrillig
4047306038Srillig //indent run -dj
41ec30234bSrillig void
example(void)42ec30234bSrillig example(void)
43ec30234bSrillig {
44ec30234bSrillig int decl;
45ec30234bSrillig code();
46ec30234bSrillig }
4747306038Srillig //indent end
48ec30234bSrillig
4947306038Srillig //indent run -ndj
50ec30234bSrillig void
example(void)51ec30234bSrillig example(void)
52ec30234bSrillig {
53ec30234bSrillig int decl;
54ec30234bSrillig code();
55ec30234bSrillig }
5647306038Srillig //indent end
5795e11159Srillig
5895e11159Srillig
5995e11159Srillig /*
6095e11159Srillig * The option '-dj' does not influence traditional function definitions.
6195e11159Srillig */
6247306038Srillig //indent input
6395e11159Srillig double
dbl_plus3(a,b,c)6495e11159Srillig dbl_plus3(a, b, c)
6595e11159Srillig double a, b, c;
6695e11159Srillig {
6795e11159Srillig return a + b + c;
6895e11159Srillig }
6947306038Srillig //indent end
7095e11159Srillig
7147306038Srillig //indent run -dj
7295e11159Srillig double
dbl_plus3(a,b,c)7395e11159Srillig dbl_plus3(a, b, c)
7495e11159Srillig double a, b, c;
7595e11159Srillig {
7695e11159Srillig return a + b + c;
7795e11159Srillig }
7847306038Srillig //indent end
79e14544c8Srillig
80e14544c8Srillig
81e14544c8Srillig //indent input
82e14544c8Srillig struct a {
83e14544c8Srillig struct b {
84e14544c8Srillig struct c {
85e14544c8Srillig struct d1 {
86e14544c8Srillig int e;
87e14544c8Srillig } d1;
88e14544c8Srillig struct d2 {
89e14544c8Srillig int e;
90e14544c8Srillig } d2;
91e14544c8Srillig } c;
92e14544c8Srillig } b;
93e14544c8Srillig };
94e14544c8Srillig //indent end
95e14544c8Srillig
96e14544c8Srillig //indent run -d0
97e14544c8Srillig struct a {
98e14544c8Srillig struct b {
99e14544c8Srillig struct c {
100e14544c8Srillig struct d1 {
101e14544c8Srillig int e;
102e14544c8Srillig } d1;
103e14544c8Srillig struct d2 {
104e14544c8Srillig int e;
105e14544c8Srillig } d2;
106e14544c8Srillig } c;
107e14544c8Srillig } b;
108e14544c8Srillig };
109e14544c8Srillig //indent end
110e14544c8Srillig
111e14544c8Srillig //indent run-equals-prev-output -dj
112e14544c8Srillig
113*eead4095Srillig //indent run-equals-input -di0
114*eead4095Srillig
115e14544c8Srillig
116e14544c8Srillig //indent input
117e14544c8Srillig {
118e14544c8Srillig {
119e14544c8Srillig struct a {
120e14544c8Srillig struct b {
121e14544c8Srillig struct c {
122e14544c8Srillig struct d1 {
123e14544c8Srillig int e;
124e14544c8Srillig } d1;
125e14544c8Srillig struct d2 {
126e14544c8Srillig int e;
127e14544c8Srillig } d2;
128e14544c8Srillig } c;
129e14544c8Srillig } b;
130e14544c8Srillig };
131e14544c8Srillig }
132e14544c8Srillig }
133e14544c8Srillig //indent end
134e14544c8Srillig
135e14544c8Srillig //indent run -dj
136e14544c8Srillig {
137e14544c8Srillig {
138e14544c8Srillig struct a {
139e14544c8Srillig struct b {
140e14544c8Srillig struct c {
141e14544c8Srillig struct d1 {
142e14544c8Srillig int e;
143e14544c8Srillig } d1;
144e14544c8Srillig struct d2 {
145e14544c8Srillig int e;
146e14544c8Srillig } d2;
147e14544c8Srillig } c;
148e14544c8Srillig } b;
149e14544c8Srillig };
150e14544c8Srillig }
151e14544c8Srillig }
152e14544c8Srillig //indent end
153