------- Comment #4 from anthony dot penniston at hotmail dot com 2010-06-17 08:16 ------- It seems that optimizing is what's causing the problem: the example compiles fine with -O0, but not -On>=1. It also compiles fine when the case values are consecutive, which seems telling. My first guess would be to take a look at what optimizations are being done to switch statements that have non-consecutive-valued cases as opposed to those that have consecutive values.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44547