Type checking mention main(void) { char *a = "trying to fool the compiler, ha!"; switch (a) { default: break; } } Switch value must be an integer /* in AST: */ case SWITCH: if (!is_INTEGRALTYPE(LTYPE(tree)) { complain, we've a bonehead!!!!!! } else call routine..