The fix for PR middle-end/35800 was to find a "new" default label as one is required by the casesi pattern, but value-range-propagation had determined that a switch statement can't fall through or reach the default label, so "it was NULL". The fix was to arbitrarily use the first label of the case-table. An improvement would be to slice off the last element, shrinking the table and its range. This naturally only affects targets with casesi patterns.
-- Summary: default case label for casesi should be spliced off from last element Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hp at gcc dot gnu dot org GCC target triplet: cris-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35809