Occasionally, gcc passes a barrier instead of a label. This accomodates such an event. Applies to 4.6 and trunk, and needed on both to build newlib. Ok?
* config/rx/rx.c (rx_align_for_label): Don't test for LABEL_NUSES on a barrier. Index: gcc/config/rx/rx.c =================================================================== --- gcc/config/rx/rx.c (revision 173669) +++ gcc/config/rx/rx.c (working copy) @@ -2755,13 +2755,13 @@ int rx_align_for_label (rtx lab, int uses_threshold) { /* This is a simple heuristic to guess when an alignment would not be useful because the delay due to the inserted NOPs would be greater than the delay due to the misaligned branch. If uses_threshold is zero then the alignment is always useful. */ - if (LABEL_NUSES (lab) < uses_threshold) + if (LABEL_P (lab) && LABEL_NUSES (lab) < uses_threshold) return 0; return optimize_size ? 1 : 3; } static int