+Fri Nov 12 16:26:25 1999 Jim Wilson <wilson@cygnus.com>
+
+ * stmt.c (pushcase, pushcase_range): Partially revert Oct 28 change.
+
Fri Nov 12 12:43:49 1999 Richard Henderson <rth@cygnus.com>
* unroll.c (unroll_loop): Make temp an unsigned HOST_WIDE_INT.
if (index_type == error_mark_node)
return 0;
+ /* Convert VALUE to the type in which the comparisons are nominally done. */
+ if (value != 0)
+ value = (*converter) (nominal_type, value);
+
check_seenlabel ();
/* Fail if this value is out of range for the actual type of the index
|| ! int_fits_type_p (value, index_type)))
return 3;
- /* Convert VALUE to the type in which the comparisons are nominally done. */
- if (value != 0)
- value = (*converter) (nominal_type, value);
-
/* Fail if this is a duplicate or overlaps another entry. */
if (value == 0)
{
if (value2 == 0)
value2 = TYPE_MAX_VALUE (nominal_type);
+ value1 = (*converter) (nominal_type, value1);
+ value2 = (*converter) (nominal_type, value2);
+
/* Fail if these values are out of range. */
if (TREE_CONSTANT_OVERFLOW (value1)
|| ! int_fits_type_p (value1, index_type))
|| ! int_fits_type_p (value2, index_type))
return 3;
- value1 = (*converter) (nominal_type, value1);
- value2 = (*converter) (nominal_type, value2);
-
return add_case_node (value1, value2, label, duplicate);
}