From: Uros Bizjak Date: Fri, 3 Feb 2012 07:29:31 +0000 (+0100) Subject: backport: re PR tree-optimization/51118 (ICE: tree check: expected tree that contains... X-Git-Tag: releases/gcc-4.6.3~129 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=617666b162a4962d40a9b81c5cc0d050109b55ca;p=thirdparty%2Fgcc.git backport: re PR tree-optimization/51118 (ICE: tree check: expected tree that contains ‘typed’ structure, have ‘block’ in fold_checksum_tree, at fold-const.c:14160) Backport from mainline: 2011-11-18 Uros Bizjak PR tree-optimization/51118 * fold-const.c (fold_checksum_tree): Check for TS_TYPED structure before using TREE_TYPE accessor on expr. From-SVN: r183864 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f2816c4caaa8..2ff3b717ac08 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2012-02-02 Uros Bizjak + + Backport from mainline: + 2011-11-18 Uros Bizjak + + PR tree-optimization/51118 + * fold-const.c (fold_checksum_tree): Check for TS_TYPED structure + before using TREE_TYPE accessor on expr. + 2012-01-12 Georg-Johann Lay Backport from mainline r183796 @@ -30,7 +39,7 @@ 2012-01-30 Ramana Radhakrishnan Backport from mainline. - 2012-01-20 Ramana Radhakrishnan + 2012-01-20 Ramana Radhakrishnan PR target/50313 * config/arm/arm.c (arm_load_pic_register): Use diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 51be79dfd0be..c6b5f5d8d0ae 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -13784,7 +13784,8 @@ recursive_label: } } md5_process_bytes (expr, tree_size (expr), ctx); - fold_checksum_tree (TREE_TYPE (expr), ctx, ht); + if (CODE_CONTAINS_STRUCT (code, TS_TYPED)) + fold_checksum_tree (TREE_TYPE (expr), ctx, ht); if (TREE_CODE_CLASS (code) != tcc_type && TREE_CODE_CLASS (code) != tcc_declaration && code != TREE_LIST