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