int foo(int *ptr, int i) { int *p; switch (i - i) { // will be optimized to 0 case 0: return 0; case 1: // will be optimized away p = ptr; do { // will be an unreachable loop *p++ = 123; } while (--i); break; } return 1; } int bar(int *ptr, int i) { int *p; switch (i - i) { // will be optimized to 0 case 0: return 0; case 1: // will be optimized away // p is uninitialized do { // will be an unreachable loop *p++ = 123; } while (--i); break; } return 1; } /* * check-name: crazy02-not-so.c * check-command: sparse -Wno-decl $file */