diff options
author | Richard Guenther <rguenther@suse.de> | 2010-08-25 14:05:28 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-08-25 14:05:28 +0000 |
commit | 1cf01301ac5e4b5f1d128dbc735620fe01421f98 (patch) | |
tree | 5be829b0ffed7290b19e398a7f2b7765810a510d /gcc/lto-streamer.c | |
parent | a2c0ed2ee91b8e30a47466ce3a18779248718c1b (diff) | |
download | gcc-1cf01301ac5e4b5f1d128dbc735620fe01421f98.zip gcc-1cf01301ac5e4b5f1d128dbc735620fe01421f98.tar.gz gcc-1cf01301ac5e4b5f1d128dbc735620fe01421f98.tar.bz2 |
re PR tree-optimization/44562 (ICE: in get_alias_set, at alias.c:716 with -flto -fstrict-aliasing -fgraphite-identity)
2010-08-25 Richard Guenther <rguenther@suse.de>
PR lto/44562
* lto-streamer.c (lto_record_common_node): Do not mess with
TYPE_CANONICAL when not in lto.
* gimple.c (gimple_register_type): Likewise.
* gcc.dg/graphite/id-27.c: New testcase.
* gcc.dg/lto/20100825-1_0.c: Likewise.
From-SVN: r163545
Diffstat (limited to 'gcc/lto-streamer.c')
-rw-r--r-- | gcc/lto-streamer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/lto-streamer.c b/gcc/lto-streamer.c index 2b3d172..27b7e56 100644 --- a/gcc/lto-streamer.c +++ b/gcc/lto-streamer.c @@ -524,7 +524,8 @@ lto_record_common_node (tree *nodep, VEC(tree, heap) **common_nodes, { /* Type merging will get confused by the canonical types as they are set by the middle-end. */ - TYPE_CANONICAL (node) = NULL_TREE; + if (in_lto_p) + TYPE_CANONICAL (node) = NULL_TREE; *nodep = node = gimple_register_type (node); } |