xref: /netbsd-src/tests/usr.bin/indent/label.c (revision 122b5006ee1bd67145794b4cde92f4fe4781a5ec)
1 /*	$NetBSD: label.c,v 1.1 2021/10/18 20:18:00 rillig Exp $	*/
2 /* $FreeBSD: head/usr.bin/indent/tests/label.0 313544 2017-02-10 09:31:39Z pstef $ */
3 
4 /* See FreeBSD r303489 */
5 
6 #indent input
7 void t(void) {
8 	switch (1)
9 	{
10 		case 1:	/* test */
11 		case 2:		/* test */
12 	}
13 CLEANUP:
14 	;
15 V: ;
16 U: ;
17 }
18 #indent end
19 
20 #indent run
21 void
22 t(void)
23 {
24 	switch (1) {
25 	case 1:			/* test */
26 	case 2:			/* test */
27 	}
28 CLEANUP:
29 	;
30 V:	;
31 U:	;
32 }
33 #indent end
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  * The indentation of statement labels is fixed to -2, it is not configurable.
67  */
68 #indent input
69 void
70 label_indentation(void)
71 {
72 	if (level1) {
73 	if (level2) {
74 	if (level3) {
75 	if (level4) {
76 	if (level5) {
77 	label5:
78 	statement();
79 	}
80 	label4:
81 	statement();
82 	}
83 	label3:
84 	statement();
85 	}
86 	label2:
87 	statement();
88 	}
89 	label1:
90 	statement();
91 	}
92 	label0:
93 	statement();
94 }
95 #indent end
96 
97 #indent run
98 void
99 label_indentation(void)
100 {
101 	if (level1) {
102 		if (level2) {
103 			if (level3) {
104 				if (level4) {
105 					if (level5) {
106 				label5:
107 						statement();
108 					}
109 			label4:
110 					statement();
111 				}
112 		label3:
113 				statement();
114 			}
115 	label2:
116 			statement();
117 		}
118 label1:
119 		statement();
120 	}
121 label0:
122 	statement();
123 }
124 #indent end
125