xref: /netbsd-src/tests/usr.bin/indent/label.c (revision 3540994a6ca6332d202cb06ee0513d54e8048d99)
1 /*	$NetBSD: label.c,v 1.9 2023/06/04 18:58:30 rillig Exp $	*/
2 
3 /* See FreeBSD r303489 */
4 
5 //indent input
t(void)6 void t(void) {
7 	switch (1)
8 	{
9 		case 1:	/* test */
10 		case 2:		/* test */
11 		case 3: /* test */
12 		case 4: /* test */
13 	}
14 CLEANUP:
15 	;
16 V: ;
17 U: ;
18 }
19 //indent end
20 
21 //indent run
22 void
t(void)23 t(void)
24 {
25 	switch (1) {
26 	case 1:			/* test */
27 	case 2:			/* test */
28 	case 3:			/* test */
29 	case 4:			/* test */
30 	}
31 CLEANUP:
32 	;
33 V:	;
34 U:	;
35 }
36 //indent end
37 
38 
39 //indent input
40 void
label_width(void)41 label_width(void)
42 {
43 L:;
44 L2:;
45 L_3:;
46 L__4:;
47 L___5:;
48 L____6:;
49 L_____7:;
50 L______8:;
51 }
52 //indent end
53 
54 //indent run
55 void
label_width(void)56 label_width(void)
57 {
58 L:	;
59 L2:	;
60 L_3:	;
61 L__4:	;
62 L___5:	;
63 L____6:	;
64 L_____7: ;
65 L______8: ;
66 }
67 //indent end
68 
69 
70 /*
71  * The indentation of statement labels is fixed to -2, it is not configurable.
72  */
73 //indent input
74 void
label_indentation(void)75 label_indentation(void)
76 {
77 	if (level1) {
78 	if (level2) {
79 	if (level3) {
80 	if (level4) {
81 	if (level5) {
82 	label5:
83 	statement();
84 	}
85 	label4:
86 	statement();
87 	}
88 	label3:
89 	statement();
90 	}
91 	label2:
92 	statement();
93 	}
94 	label1:
95 	statement();
96 	}
97 	label0:
98 	statement();
99 }
100 //indent end
101 
102 //indent run
103 void
label_indentation(void)104 label_indentation(void)
105 {
106 	if (level1) {
107 		if (level2) {
108 			if (level3) {
109 				if (level4) {
110 					if (level5) {
111 				label5:
112 						statement();
113 					}
114 			label4:
115 					statement();
116 				}
117 		label3:
118 				statement();
119 			}
120 	label2:
121 			statement();
122 		}
123 label1:
124 		statement();
125 	}
126 label0:
127 	statement();
128 }
129 //indent end
130