From b1e251ec9ec0260943485793446bfe249eaae290 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 21 Sep 2015 14:12:58 +0000 Subject: [PATCH] passes.c (rest_of_decl_compilation): Do not call dwarf2out_early_global_decl for aliases. 2015-09-21 Richard Biener * passes.c (rest_of_decl_compilation): Do not call dwarf2out_early_global_decl for aliases. * g++.dg/ext/attr-alias-3.C: Add -g. From-SVN: r227973 --- gcc/ChangeLog | 5 +++++ gcc/passes.c | 3 ++- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/g++.dg/ext/attr-alias-3.C | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d275898d85a4..9a2cf21f3279 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-09-21 Richard Biener + + * passes.c (rest_of_decl_compilation): Do not call + dwarf2out_early_global_decl for aliases. + 2015-09-21 Richard Biener PR debug/67664 diff --git a/gcc/passes.c b/gcc/passes.c index 70b71b1594cc..d06a2936905c 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -327,7 +327,8 @@ rest_of_decl_compilation (tree decl, and thus have incomplete early debug and late debug called from varpool node removal fails to handle it properly. */ - || (TREE_CODE (decl) == VAR_DECL + || (finalize + && TREE_CODE (decl) == VAR_DECL && TREE_STATIC (decl) && !DECL_EXTERNAL (decl))) /* Avoid confusing the debug information machinery when there are errors. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 43c22605def9..5eacecad6c8d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2015-09-21 Richard Biener + + * g++.dg/ext/attr-alias-3.C: Add -g. + 2015-09-21 Richard Biener PR debug/67664 diff --git a/gcc/testsuite/g++.dg/ext/attr-alias-3.C b/gcc/testsuite/g++.dg/ext/attr-alias-3.C index 7f6aa2cbc38b..17c43af96a81 100644 --- a/gcc/testsuite/g++.dg/ext/attr-alias-3.C +++ b/gcc/testsuite/g++.dg/ext/attr-alias-3.C @@ -1,5 +1,6 @@ // PR c++/56134 // { dg-require-alias "" } +// { dg-options "-g" } char a; class Q -- 2.43.5