disable this chunk of loplugin code on clang < 3.8

not worth the spaghetti of making it work across version

Change-Id: I0de923b16fb6d58cbad55adc9878ab39bc0c86ae
This commit is contained in:
Noel Grandin 2016-11-01 12:58:17 +02:00
parent 458a9fd806
commit 5e997f4dba

View File

@ -222,13 +222,12 @@ const CXXMethodDecl* UnnecessaryOverride::findOverriddenOrSimilarMethodInSupercl
return nullptr;
}
#if CLANG_VERSION < 30800
return nullptr;
#else
std::vector<const CXXMethodDecl*> maSimilarMethods;
#if CLANG_VERSION >= 30800
auto BaseMatchesCallback = [&](const CXXBaseSpecifier *cxxBaseSpecifier, CXXBasePath& )
#else
auto BaseMatchesCallback = [&](const CXXBaseSpecifier *cxxBaseSpecifier, CXXBasePath&, void* )
#endif
{
if (cxxBaseSpecifier->getAccessSpecifier() != AS_public && cxxBaseSpecifier->getAccessSpecifier() != AS_protected)
return false;
@ -269,16 +268,13 @@ const CXXMethodDecl* UnnecessaryOverride::findOverriddenOrSimilarMethodInSupercl
};
CXXBasePaths aPaths;
#if CLANG_VERSION >= 30800
methodDecl->getParent()->lookupInBases(BaseMatchesCallback, aPaths);
#else
methodDecl->getParent()->lookupInBases(BaseMatchesCallback, nullptr, aPaths);
#endif
if (maSimilarMethods.size() == 1) {
return maSimilarMethods[0];
}
return nullptr;
#endif
}