From: rguenth Date: Thu, 15 Dec 2011 12:43:48 +0000 (+0000) Subject: 2011-12-15 Richard Guenther X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;ds=sidebyside;h=bace6acf1555d1d335e126a726790c388e85bc85;p=pf3gnuchains%2Fgcc-fork.git 2011-12-15 Richard Guenther 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182367 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a12190f0ad2..cdfac22d83f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2011-12-15 Richard Guenther + + 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 PR target/51050 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 71c3f67a245..212e455c6e6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-12-15 Richard Guenther + + PR lto/51564 + * g++.dg/lto/pr51564-1_0.C: New testcase. + 2011-12-15 Jonathan Wakely PR libstdc++/51365 diff --git a/gcc/testsuite/g++.dg/lto/pr51564-1_0.C b/gcc/testsuite/g++.dg/lto/pr51564-1_0.C new file mode 100644 index 00000000000..5765cb196b8 --- /dev/null +++ b/gcc/testsuite/g++.dg/lto/pr51564-1_0.C @@ -0,0 +1,10 @@ +// { dg-lto-do link } +// { dg-lto-options { { -flto -g } } } + +typedef int T; +void foo(void) {} +int main() +{ + foo(); + using ::T; +} diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c index d90ee803a13..897c2115807 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 diff --git a/gcc/tree.h b/gcc/tree.h index eca2f8bb1fb..2da054844c2 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -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. */