diff options
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -9851,8 +9851,9 @@ try_casesi (tree index_type, tree index_expr, tree minval, tree range, index_expr, minval); minval = integer_zero_node; index = expand_normal (index_expr); - emit_cmp_and_jump_insns (rangertx, index, LTU, NULL_RTX, - omode, 1, default_label); + if (default_label) + emit_cmp_and_jump_insns (rangertx, index, LTU, NULL_RTX, + omode, 1, default_label); /* Now we can safely truncate. */ index = convert_to_mode (index_mode, index, 0); } @@ -9931,8 +9932,9 @@ do_tablejump (rtx index, enum machine_mode mode, rtx range, rtx table_label, or equal to the minimum value of the range and less than or equal to the maximum value of the range. */ - emit_cmp_and_jump_insns (index, range, GTU, NULL_RTX, mode, 1, - default_label); + if (default_label) + emit_cmp_and_jump_insns (index, range, GTU, NULL_RTX, mode, 1, + default_label); /* If index is in range, it must fit in Pmode. Convert to Pmode so we can index with it. */ |