From: Richard Guenther Date: Wed, 4 Jul 2012 13:56:00 +0000 (+0000) Subject: re PR middle-end/53433 (ICE in int_mode_for_mode, at stor-layout.c:424 during lto... X-Git-Tag: releases/gcc-4.6.4~461 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b39d55cd13b95102cbe28447585a554d4ef5a807;p=thirdparty%2Fgcc.git re PR middle-end/53433 (ICE in int_mode_for_mode, at stor-layout.c:424 during lto-bootstrap) 2012-07-04 Richard Guenther PR middle-end/53433 * tree-ssa-ccp.c (get_base_constructor): Do not return an error_mark_node DECL_INITIAL. From-SVN: r189263 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index edbf66075ebb..815552cf27e0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-07-04 Richard Guenther + + PR middle-end/53433 + * tree-ssa-ccp.c (get_base_constructor): Do not return an + error_mark_node DECL_INITIAL. + 2012-07-02 Martin Jambor PR middle-end/38474 diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c index 9e09eeec887c..90c69a0f3172 100644 --- a/gcc/tree-ssa-ccp.c +++ b/gcc/tree-ssa-ccp.c @@ -1364,6 +1364,10 @@ get_base_constructor (tree base, HOST_WIDE_INT *bit_offset) if (!DECL_INITIAL (base) && (TREE_STATIC (base) || DECL_EXTERNAL (base))) return error_mark_node; + /* Do not return an error_mark_node DECL_INITIAL. LTO uses this + as special marker (_not_ zero ...) for its own purposes. */ + if (DECL_INITIAL (base) == error_mark_node) + return NULL_TREE; return DECL_INITIAL (base); case ARRAY_REF: