Commit ca814625 by Richard Guenther Committed by Richard Biener

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
parent ba986b7d
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.
2011-12-15 Georg-Johann Lay <avr@gjlay.de>
PR target/51050
2011-12-15 Richard Guenther <rguenther@suse.de>
PR lto/51564
* g++.dg/lto/pr51564-1_0.C: New testcase.
2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/51365
......
// { dg-lto-do link }
// { dg-lto-options { { -flto -g } } }
typedef int T;
void foo(void) {}
int main()
{
foo();
using ::T;
}
......@@ -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
......
......@@ -644,19 +644,13 @@ struct GTY(()) tree_common {
DECL_UNSIGNED in
all decls
REGISTER_DEFS_IN_THIS_STMT in
all expressions (tree-into-ssa.c)
asm_written_flag:
TREE_ASM_WRITTEN in
VAR_DECL, FUNCTION_DECL
VAR_DECL, FUNCTION_DECL, TYPE_DECL
RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
BLOCK, SSA_NAME, STRING_CST
NECESSARY in
all expressions (tree-ssa-dce.c, tree-ssa-pre.c)
used_flag:
TREE_USED in
......@@ -685,9 +679,6 @@ struct GTY(()) tree_common {
IDENTIFIER_TRANSPARENT_ALIAS in
IDENTIFIER_NODE
STMT_IN_SSA_EDGE_WORKLIST in
all expressions (tree-ssa-propagate.c)
visited:
TREE_VISITED in
......@@ -1369,8 +1360,8 @@ extern void omp_clause_range_check_failed (const_tree, const char *, int,
Nonzero in a FUNCTION_DECL means that the function has been compiled.
This is interesting in an inline function, since it might not need
to be compiled separately.
Nonzero in a RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE or ENUMERAL_TYPE
if the debugging info for the type has been written.
Nonzero in a RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE, ENUMERAL_TYPE
or TYPE_DECL if the debugging info for the type has been written.
In a BLOCK node, nonzero if reorder_blocks has already seen this block.
In an SSA_NAME node, nonzero if the SSA_NAME occurs in an abnormal
PHI node. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment