From 351d90f4c41fa73dcf93dd90a5d23c8d0b8d1b35 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Mon, 15 Jun 2015 01:40:12 +0200 Subject: [PATCH] re PR ipa/66181 (/usr/include/bits/types.h:134:16: ICE: verify_type failed) PR ipa/66181 * lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK. * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK. * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream TYPE_NO_FORCE_BLK. * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise. From-SVN: r224471 --- gcc/ChangeLog | 8 ++++++++ gcc/lto-streamer-out.c | 3 ++- gcc/lto/ChangeLog | 5 +++++ gcc/lto/lto.c | 1 - gcc/tree-streamer-in.c | 3 ++- gcc/tree-streamer-out.c | 3 ++- 6 files changed, 19 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c9b156f2e8d..49cd8c7881a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2015-06-14 Jan Hubicka + + PR ipa/66181 + * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK. + * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream + TYPE_NO_FORCE_BLK. + * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise. + 2015-06-14 Richard Sandiford * rtl.h (classify_insn): Declare. diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 9ee43120080..f3492c14c1f 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -1119,7 +1119,8 @@ hash_tree (struct streamer_tree_cache_d *cache, hash_map *map, { hstate.add_wide_int (TYPE_MODE (t)); hstate.add_flag (TYPE_STRING_FLAG (t)); - hstate.add_flag (TYPE_NO_FORCE_BLK (t)); + /* TYPE_NO_FORCE_BLK is private to stor-layout and need + no streaming. */ hstate.add_flag (TYPE_NEEDS_CONSTRUCTING (t)); hstate.add_flag (TYPE_PACKED (t)); hstate.add_flag (TYPE_RESTRICT (t)); diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 9665bf096b2..af12a06a3fd 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,8 @@ +2015-06-14 Jan Hubicka + + PR ipa/66181 + * lto.c (compare_tree_sccs_1): Do not compare TYPE_NO_FORCE_BLK. + 2015-06-12 DJ Delorie * lto-lang.c (lto_type_for_size): Include intN types. diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index b9b11106ac3..2001bf3e486 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -1159,7 +1159,6 @@ compare_tree_sccs_1 (tree t1, tree t2, tree **map) { compare_values (TYPE_MODE); compare_values (TYPE_STRING_FLAG); - compare_values (TYPE_NO_FORCE_BLK); compare_values (TYPE_NEEDS_CONSTRUCTING); if (RECORD_OR_UNION_TYPE_P (t1)) { diff --git a/gcc/tree-streamer-in.c b/gcc/tree-streamer-in.c index 32bd5a7ae05..9b2d1432aaa 100644 --- a/gcc/tree-streamer-in.c +++ b/gcc/tree-streamer-in.c @@ -370,7 +370,8 @@ unpack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr) mode = bp_unpack_machine_mode (bp); SET_TYPE_MODE (expr, mode); TYPE_STRING_FLAG (expr) = (unsigned) bp_unpack_value (bp, 1); - TYPE_NO_FORCE_BLK (expr) = (unsigned) bp_unpack_value (bp, 1); + /* TYPE_NO_FORCE_BLK is private to stor-layout and need + no streaming. */ TYPE_NEEDS_CONSTRUCTING (expr) = (unsigned) bp_unpack_value (bp, 1); if (RECORD_OR_UNION_TYPE_P (expr)) { diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c index 623c32bc578..6543d409bc2 100644 --- a/gcc/tree-streamer-out.c +++ b/gcc/tree-streamer-out.c @@ -318,7 +318,8 @@ pack_ts_type_common_value_fields (struct bitpack_d *bp, tree expr) { bp_pack_machine_mode (bp, TYPE_MODE (expr)); bp_pack_value (bp, TYPE_STRING_FLAG (expr), 1); - bp_pack_value (bp, TYPE_NO_FORCE_BLK (expr), 1); + /* TYPE_NO_FORCE_BLK is private to stor-layout and need + no streaming. */ bp_pack_value (bp, TYPE_NEEDS_CONSTRUCTING (expr), 1); if (RECORD_OR_UNION_TYPE_P (expr)) { -- 2.30.2