The following testcase is horribly mangled by the c backend. This is distilled from a gigantic switch statement in 253.perlbmk. #include <stdio.h> int main(int argc) { switch (argc) { default: printf("GOOD\n"); return 0; case 100: case 101: case 1023: printf("BAD\n"); return 1; } }
This is test: test/Programs/SingleSource/UnitTests/2003-10-13-SwitchTest.c
This is now fixed! http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20031013/008044.html