1int foo(int *ptr, int i)
2{
3	int *p;
4
5	switch (i - i) {		// will be optimized to 0
6	case 0:
7		return 0;
8	case 1:				// will be optimized away
9		p = ptr;
10		do {			// will be an unreachable loop
11			*p++ = 123;
12		} while (--i);
13		break;
14	}
15
16	return 1;
17}
18
19int bar(int *ptr, int i)
20{
21	int *p;
22
23	switch (i - i) {		// will be optimized to 0
24	case 0:
25		return 0;
26	case 1:				// will be optimized away
27					// p is uninitialized
28		do {			// will be an unreachable loop
29			*p++ = 123;
30		} while (--i);
31		break;
32	}
33
34	return 1;
35}
36
37/*
38 * check-name: crazy02-not-so.c
39 * check-command: sparse -Wno-decl $file
40 */
41