https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66448
--- Comment #4 from Iain Sandoe <iains at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #3) > (In reply to Aldy Hernandez from comment #2) > > > 2. Once (1) is fixed, bootstrap then fails with: > > > > > > /GCC/gcc-trunk/gcc/ipa-pure-const.c:1640:1: error: > > > ‘{anonymous}::pass_ipa_pure_const::pass_ipa_pure_const(gcc::context*)’ > > > defined but not used [-Werror=unused-function] > > > pass_ipa_pure_const:: > > > > > > A --disable-werror boostrap completes, but there are a number of > > > constructors and destructors that report "declared but not used". AFAICT, > > > it's only constructors/destructors. > > > > > > This is occurring at stage #2, and I thought maybe that the stage#1 > > > compiler > > > could have been mis-compiled by the bootstrap; however, gcc-4.9, 5.1 and > > > clang (xcode 5.1.1) bootstraps all give the same result. > > > > Jason, is pass_ipa_pure_const::pass_ipa_pure_const() really declared but not > > used? > > I bet a drink that it is an incharge vs outofcharge construct/deconstruct > issue. Darwin does not support aliases so the function itself is cloned. *sigh*, that seems believable - although I thought we'd ironed out most of the alias/no-alias issues when dealing with the ipa-icf stuff last year. This assessment is also likely consistent with duplicate debug information being reported. So perhaps there are multiple entries and (somehow) only one is marked as "used"? (if there's something specific needed debug-wise that needs a Darwin system let us know and we'll try to extract what's needed).