From: Richard Kenner Date: Sat, 28 May 1994 23:03:12 +0000 (-0400) Subject: (expand_end_case): Have INDEX_TYPE track conversions done to X-Git-Tag: misc/cutover-egcs-0~6562 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d3b35d7584ef28d51bdf2a2fed49ba18c924fb81;p=thirdparty%2Fgcc.git (expand_end_case): Have INDEX_TYPE track conversions done to INDEX_EXPR. From-SVN: r7381 --- 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);