diff options
author | Richard Guenther <rguenther@suse.de> | 2011-12-15 12:43:48 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-12-15 12:43:48 +0000 |
commit | ca814625c9cd6487a70ef1449941cfac575858e2 (patch) | |
tree | 249267a930e988bb311aef32907111b08680325b /gcc/tree-streamer-out.c | |
parent | ba986b7d2b9953fcdd47fc2b81ecbd992e04c519 (diff) | |
download | gcc-ca814625c9cd6487a70ef1449941cfac575858e2.zip gcc-ca814625c9cd6487a70ef1449941cfac575858e2.tar.gz gcc-ca814625c9cd6487a70ef1449941cfac575858e2.tar.bz2 |
re PR debug/51564 (ICE in force_type_die, at dwarf2out.c:19288)
2011-12-15 Richard Guenther <rguenther@suse.de>
PR lto/51564
* tree.h (REGISTER_DEFS_IN_THIS_STMT, NECESSARY,
STMT_IN_SSA_EDGE_WORKLIST): Remove no longer existing flag
uses documentation.
(TREE_ASM_WRITTEN): Update documentation to mention its use
on TYPE_DECLs from debug info generation.
* tree-streamer-out.c (pack_ts_base_value_fields): Stream
TREE_ASM_WRITTEN as always zero for TYPE_DECLs, similar to
all other types.
* g++.dg/lto/pr51564-1_0.C: New testcase.
From-SVN: r182367
Diffstat (limited to 'gcc/tree-streamer-out.c')
-rw-r--r-- | gcc/tree-streamer-out.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c index d90ee80..897c211 100644 --- a/gcc/tree-streamer-out.c +++ b/gcc/tree-streamer-out.c @@ -88,7 +88,8 @@ pack_ts_base_value_fields (struct bitpack_d *bp, tree expr) else bp_pack_value (bp, 0, 1); /* We write debug info two times, do not confuse the second one. */ - bp_pack_value (bp, TYPE_P (expr) ? 0 : TREE_ASM_WRITTEN (expr), 1); + bp_pack_value (bp, ((TYPE_P (expr) || TREE_CODE (expr) == TYPE_DECL) + ? 0 : TREE_ASM_WRITTEN (expr)), 1); if (TYPE_P (expr)) bp_pack_value (bp, TYPE_ARTIFICIAL (expr), 1); else |