// compile with gcc -O -funit-at-a-time -fno-strict-aliasing -fstack-protector -fPIC main2.c -o main2 #include static void symtable_die() { char *name = "MZ: dummy name"; if (1) { char buf[500]; if (0) { return; } else { snprintf(buf, sizeof(buf), "12345'%.400s'1234567890\n", name); } } printf("returning from symtable_die\n"); } static void symtable_neverrun() { char tmpname[30]; printf("did I mention this does not run?\n"); } void symtable_node() { switch (1) { case 1: symtable_die(); break; case 2: printf("this does not run but must be present anyway\n"); symtable_neverrun(); break; default: printf("this does not run but must be present anyway\n"); } printf("returning from symtable_node THIS SHOULD BE FINAL\n"); } int main() { symtable_node(); printf("SHOULD NOT GET HERE!\n"); return 0; }