1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
extern void abort (void); __attribute__((noinline)) void foo (void *p) { long l = (long) p; if (l < 0 || l > 6) abort (); } int main () { short i; for (i = 6; i >= 0; i--) foo ((void *) (long) i); return 0; }