From: Roger Sayle Date: Fri, 23 Jun 2006 02:01:30 +0000 (+0000) Subject: re PR middle-end/28131 (FAIL: gcc.c-torture/execute/va-arg-25.c compilation (ICE)) X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e577c8c0bb93347b9bb056a4620e9ae7ff4124dc;p=platform%2Fupstream%2Fgcc.git re PR middle-end/28131 (FAIL: gcc.c-torture/execute/va-arg-25.c compilation (ICE)) 2006-06-22 Roger Sayle John David Anglin PR middle-end/28131 * expr.c (expand_expr_real_1) : Check whether the call to lang_hooks.types.type_for_mode returned NULL_TREE. Co-Authored-By: John David Anglin From-SVN: r114923 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8777019..6574cc8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2006-06-22 Roger Sayle + John David Anglin + + PR middle-end/28131 + * expr.c (expand_expr_real_1) : Check whether the + call to lang_hooks.types.type_for_mode returned NULL_TREE. + 2006-06-23 Ben Elliston * dfp.c (decimal_to_decnumber): Do not use decNumberNegate to diff --git a/gcc/expr.c b/gcc/expr.c index 562588a..e46e3e7 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -6945,9 +6945,11 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, || GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT) return const_vector_from_tree (exp); if (GET_MODE_CLASS (mode) == MODE_INT) - tmp = fold_unary (VIEW_CONVERT_EXPR, - lang_hooks.types.type_for_mode (mode, 1), - exp); + { + tree type_for_mode = lang_hooks.types.type_for_mode (mode, 1); + if (type_for_mode) + tmp = fold_unary (VIEW_CONVERT_EXPR, type_for_mode, exp); + } if (!tmp) tmp = build_constructor_from_list (type, TREE_VECTOR_CST_ELTS (exp));