xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_207.c (revision 6937eff333b197fb14840f0e58df0f7a0edfd51a)
1*6937eff3Srillig /*	$NetBSD: msg_207.c,v 1.5 2024/11/13 04:32:49 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_207.c"
3a0a15c14Srillig 
4a0a15c14Srillig // Test for message: loop not entered at top [207]
5a0a15c14Srillig 
66e59c256Srillig static void
76e59c256Srillig /* expect+1: warning: static function 'for_loop' unused [236] */
86e59c256Srillig for_loop(void)
96e59c256Srillig {
106e59c256Srillig 	for (int i = 0; i < 10; i++)
116e59c256Srillig 		if (0 == 1)
126e59c256Srillig 			for (i = 0;
136e59c256Srillig 			    i < 5;
146e59c256Srillig 				/* expect+2: warning: loop not entered at top [207] */
156e59c256Srillig 				/* expect+1: warning: end-of-loop code not reached [223] */
166e59c256Srillig 			    i += 4)
176e59c256Srillig 				return;
186e59c256Srillig 
196e59c256Srillig 	// XXX: Why is this different from the snippet above?
206e59c256Srillig 	for (int i = 0; i < 10; i++)
216e59c256Srillig 		if (0 == 1)
22*6937eff3Srillig 			/* expect+1: warning: 'init' statement not reached [193] */
236e59c256Srillig 			for (int j = 0;
246e59c256Srillig 			    j < 5;
256e59c256Srillig 			    /* expect+1: warning: end-of-loop code not reached [223] */
266e59c256Srillig 			    j += 4)
276e59c256Srillig 				return;
286e59c256Srillig }
296e59c256Srillig 
306e59c256Srillig static void
316e59c256Srillig /* expect+1: warning: static function 'while_loop' unused [236] */
326e59c256Srillig while_loop(void)
336e59c256Srillig {
346e59c256Srillig 	for (int i = 0; i < 10; i++)
356e59c256Srillig 		if (0 == 1)
366e59c256Srillig 			/* expect+1: warning: loop not entered at top [207] */
376e59c256Srillig 			while (i < 5)
386e59c256Srillig 				i += 4;
396e59c256Srillig }
406e59c256Srillig 
416e59c256Srillig static void
426e59c256Srillig /* expect+1: warning: static function 'do_loop' unused [236] */
436e59c256Srillig do_loop(void)
446e59c256Srillig {
456e59c256Srillig 	for (int i = 0; i < 10; i++)
466e59c256Srillig 		if (0 == 1)
476e59c256Srillig 			/* expect+1: warning: loop not entered at top [207] */
486e59c256Srillig 			do {
496e59c256Srillig 				i += 4;
506e59c256Srillig 			} while (i < 5);
516e59c256Srillig }
52