/*	$NetBSD: msg_207.c,v 1.5 2024/11/13 04:32:49 rillig Exp $	*/
# 3 "msg_207.c"

// Test for message: loop not entered at top [207]

static void
/* expect+1: warning: static function 'for_loop' unused [236] */
for_loop(void)
{
	for (int i = 0; i < 10; i++)
		if (0 == 1)
			for (i = 0;
			    i < 5;
				/* expect+2: warning: loop not entered at top [207] */
				/* expect+1: warning: end-of-loop code not reached [223] */
			    i += 4)
				return;

	// XXX: Why is this different from the snippet above?
	for (int i = 0; i < 10; i++)
		if (0 == 1)
			/* expect+1: warning: 'init' statement not reached [193] */
			for (int j = 0;
			    j < 5;
			    /* expect+1: warning: end-of-loop code not reached [223] */
			    j += 4)
				return;
}

static void
/* expect+1: warning: static function 'while_loop' unused [236] */
while_loop(void)
{
	for (int i = 0; i < 10; i++)
		if (0 == 1)
			/* expect+1: warning: loop not entered at top [207] */
			while (i < 5)
				i += 4;
}

static void
/* expect+1: warning: static function 'do_loop' unused [236] */
do_loop(void)
{
	for (int i = 0; i < 10; i++)
		if (0 == 1)
			/* expect+1: warning: loop not entered at top [207] */
			do {
				i += 4;
			} while (i < 5);
}
