From d3b35d7584ef28d51bdf2a2fed49ba18c924fb81 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 28 May 1994 19:03:12 -0400 Subject: [PATCH] (expand_end_case): Have INDEX_TYPE track conversions done to INDEX_EXPR. From-SVN: r7381 --- gcc/stmt.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/stmt.c b/gcc/stmt.c index 40d515438241..f62cb63245f4 100644 --- a/gcc/stmt.c +++ b/gcc/stmt.c @@ -4462,8 +4462,12 @@ expand_end_case (orig_index) else { if (TYPE_MODE (index_type) != index_mode) - index_expr = convert (type_for_size (index_bits, 0), - index_expr); + { + index_expr = convert (type_for_size (index_bits, 0), + index_expr); + index_type = TREE_TYPE (index_expr); + } + index = expand_expr (index_expr, NULL_RTX, VOIDmode, 0); } emit_queue (); @@ -4500,6 +4504,7 @@ expand_end_case (orig_index) index_expr = convert (thiscase->data.case_stmt.nominal_type, fold (build (MINUS_EXPR, index_type, index_expr, minval))); + index_type = TREE_TYPE (index_expr); index = expand_expr (index_expr, NULL_RTX, VOIDmode, 0); emit_queue (); index = protect_from_queue (index, 0); -- 2.47.2