------- Comment #2 from jakub at gcc dot gnu dot org 2009-04-29 11:52 ------- In C:
int foo (int i) { int j; switch (i) { case -__INT_MAX__ - 1 ... -1: j = 6; break; case 0: j = 5; break; case 1 ... __INT_MAX__: j = 4; break; } return j; } fails the same way. The default label is added by gimplify_switch_expr. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39666