void abort (void); void exit (int); typedef enum foo E; enum foo { e0, e1 }; struct { E eval; } s; void p(void) { abort(); } void f(void) { switch (s.eval) { case e0: p(); } } int main(void) { s.eval = e1; f(); exit(0); }