On Oct 26, 2012, at 2:16 PM, Nico Weber <[email protected]> wrote: > FWIW, I found -Wunneeded-internal-declaration fairly confusing. I > tried to turn it on for chromium, and it fired in a few instances > where the function it warned about was used for something and couldn't > be easily removed.
Could you be more specific ? It's not clear if you are talking about a false positive or something else. -Argyrios > > Nico > > On Fri, Oct 26, 2012 at 1:54 PM, Argyrios Kyrtzidis <[email protected]> > wrote: >> On Oct 26, 2012, at 1:35 PM, Richard Smith <[email protected]> wrote: >> >>> Argyrios: It looks like you added this warning in r129794. Can you >>> comment on what it's intended to detect? >> >> variables/functions with internal linkage that are not used from the codegen >> perspective. >> This differs from -Wunused which will consider a 'use' even in an >> unevaluated context. >> For example: >> >> static void foo() { } >> >> this gives: >> warning: unused function 'foo' [-Wunused-function] >> >> static void foo() { } >> template <typename T> >> void goo() { >> foo(); >> } >> >> this gives: >> warning: function 'foo' is not needed and will not be emitted >> [-Wunneeded-internal-declaration] >> >> -Argyrios >> >>> >>> On Fri, Oct 26, 2012 at 9:52 AM, Craig Topper <[email protected]> >>> wrote: >>>> No its used right here in the same file. It only warns on C++11 enabled >>>> builds. >>>> >>>> virtual void getAnalysisUsage(AnalysisUsage &AU) const { >>>> AU.setPreservesAll(); >>>> AU.addRequiredID(PreVerifyID); >>>> >>>> >>>> On Fri, Oct 26, 2012 at 9:41 AM, Matthieu Monrocq >>>> <[email protected]> wrote: >>>>> >>>>> >>>>> >>>>> On Fri, Oct 26, 2012 at 8:51 AM, Richard Smith <[email protected]> >>>>> wrote: >>>>>> >>>>>> On Thu, Oct 25, 2012 at 10:48 PM, Craig Topper <[email protected]> >>>>>> wrote: >>>>>>> I think this change broke bootstrap builds with C++11 and -Werror >>>>>>> enabled. >>>>>>> >>>>>>> lib/VMCore/Verifier.cpp:116:14: error: variable 'PreVerifyID' is not >>>>>>> needed >>>>>>> and will not be emitted [-Werror,-Wunneeded-internal-declaration] >>>>>>> static char &PreVerifyID = PreVerifier::ID; >>>>>> >>>>>> Yes, I think this change probably caused that. I'm unclear on what the >>>>>> purpose of that warning is: it appears to be warning on variables >>>>>> which are referenced but not odr-used, which seems like a pretty >>>>>> questionable thing to warn on. It'd be easy enough to fix this by >>>>>> teaching Sema::ShouldWarnIfUnusedFileScopedDecl to ignore references >>>>>> (along with its existing check for const variables), but I'm not sure >>>>>> that's the right fix, since I'm not really sure what the intent is >>>>>> here. >>>>> >>>>> >>>>> >>>>> Is not PreVerifyID just an unused variable ? (not the difference with >>>>> PreVerifier::ID) >>>>> >>>>> -- Matthieu >>>> >>>> >>>> >>>> >>>> -- >>>> ~Craig >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
