xref: /netbsd-src/tests/usr.bin/indent/label.c (revision 2718af68c3efc72c9769069b5c7f9ed36f6b9def)
1 /*	$NetBSD: label.c,v 1.2 2021/11/20 11:13:18 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 
36 #indent input
37 void
38 label_width(void)
39 {
40 L:;
41 L2:;
42 L_3:;
43 L__4:;
44 L___5:;
45 L____6:;
46 L_____7:;
47 L______8:;
48 }
49 #indent end
50 
51 #indent run
52 void
53 label_width(void)
54 {
55 L:	;
56 L2:	;
57 L_3:	;
58 L__4:	;
59 L___5:	;
60 L____6:	;
61 L_____7:;
62 L______8:;
63 }
64 #indent end
65 
66 
67 /*
68  * The indentation of statement labels is fixed to -2, it is not configurable.
69  */
70 #indent input
71 void
72 label_indentation(void)
73 {
74 	if (level1) {
75 	if (level2) {
76 	if (level3) {
77 	if (level4) {
78 	if (level5) {
79 	label5:
80 	statement();
81 	}
82 	label4:
83 	statement();
84 	}
85 	label3:
86 	statement();
87 	}
88 	label2:
89 	statement();
90 	}
91 	label1:
92 	statement();
93 	}
94 	label0:
95 	statement();
96 }
97 #indent end
98 
99 #indent run
100 void
101 label_indentation(void)
102 {
103 	if (level1) {
104 		if (level2) {
105 			if (level3) {
106 				if (level4) {
107 					if (level5) {
108 				label5:
109 						statement();
110 					}
111 			label4:
112 					statement();
113 				}
114 		label3:
115 				statement();
116 			}
117 	label2:
118 			statement();
119 		}
120 label1:
121 		statement();
122 	}
123 label0:
124 	statement();
125 }
126 #indent end
127