forked from OSchip/llvm-project
Revert r168519, "Merge used flags so that we don't have to iterate on isUsed. With this change"
It brought bunch of (possibly false) warnings. llvm/unittests/VMCore/PassManagerTest.cpp:60:22: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration] char ModuleNDNM::ID=0; ^ llvm/unittests/VMCore/PassManagerTest.cpp:86:22: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration] char ModuleNDM2::ID=0; ^ llvm/unittests/VMCore/PassManagerTest.cpp:106:21: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration] char ModuleDNM::ID=0; ^ llvm/unittests/VMCore/PassManagerTest.cpp:217:16: warning: variable 'initcount' is not needed and will not be emitted [-Wunneeded-internal-declaration] int LPass::initcount=0; ^ llvm/unittests/VMCore/PassManagerTest.cpp:218:16: warning: variable 'fincount' is not needed and will not be emitted [-Wunneeded-internal-declaration] int LPass::fincount=0; ^ llvm/unittests/VMCore/PassManagerTest.cpp:259:16: warning: variable 'inited' is not needed and will not be emitted [-Wunneeded-internal-declaration] int BPass::inited=0; ^ llvm/unittests/VMCore/PassManagerTest.cpp:260:16: warning: variable 'fin' is not needed and will not be emitted [-Wunneeded-internal-declaration] int BPass::fin=0; ^ llvm/unittests/VMCore/PassManagerTest.cpp:283:24: warning: variable 'ID' is not needed and will not be emitted [-Wunneeded-internal-declaration] char OnTheFlyTest::ID=0; ^ 8 warnings generated. llvm-svn: 168549
This commit is contained in:
parent
d374694b07
commit
c232cb8542
|
@ -261,6 +261,13 @@ bool Decl::isUsed(bool CheckUsedAttr) const {
|
||||||
if (CheckUsedAttr && hasAttr<UsedAttr>())
|
if (CheckUsedAttr && hasAttr<UsedAttr>())
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
// Check redeclarations. We merge attributes, so we don't need to check
|
||||||
|
// attributes in all redeclarations.
|
||||||
|
for (redecl_iterator I = redecls_begin(), E = redecls_end(); I != E; ++I) {
|
||||||
|
if (I->Used)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2388,10 +2388,6 @@ bool Sema::MergeCompatibleFunctionDecls(FunctionDecl *New, FunctionDecl *Old,
|
||||||
if (Old->isPure())
|
if (Old->isPure())
|
||||||
New->setPure();
|
New->setPure();
|
||||||
|
|
||||||
// Merge "used" flag.
|
|
||||||
if (Old->isUsed(false))
|
|
||||||
New->setUsed();
|
|
||||||
|
|
||||||
// Merge attributes from the parameters. These can mismatch with K&R
|
// Merge attributes from the parameters. These can mismatch with K&R
|
||||||
// declarations.
|
// declarations.
|
||||||
if (New->getNumParams() == Old->getNumParams())
|
if (New->getNumParams() == Old->getNumParams())
|
||||||
|
|
Loading…
Reference in New Issue