compat for Clang 3.2
Change-Id: I2746abd05edd00dadfe613c17b9874b1035c3be4
This commit is contained in:
@@ -160,6 +160,26 @@ inline std::unique_ptr<llvm::raw_fd_ostream> create_raw_fd_ostream(
|
||||
#endif
|
||||
}
|
||||
|
||||
inline clang::NamedDecl * const * begin(
|
||||
clang::DeclContextLookupConstResult const & result)
|
||||
{
|
||||
#if (__clang_major__ == 3 && __clang_minor__ >= 3) || __clang_major__ > 3
|
||||
return result.begin();
|
||||
#else
|
||||
return result.first;
|
||||
#endif
|
||||
}
|
||||
|
||||
inline clang::NamedDecl * const * end(
|
||||
clang::DeclContextLookupConstResult const & result)
|
||||
{
|
||||
#if (__clang_major__ == 3 && __clang_minor__ >= 3) || __clang_major__ > 3
|
||||
return result.end();
|
||||
#else
|
||||
return result.second;
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -72,8 +72,10 @@ OverrideKind getOverrideKind(FunctionDecl const * decl) {
|
||||
// encounter in practice:
|
||||
bool hasBoolOverload(FunctionDecl const * decl, bool mustBeDeleted) {
|
||||
unsigned n = decl->getNumParams();
|
||||
for (auto d: decl->getDeclContext()->lookup(decl->getDeclName())) {
|
||||
FunctionDecl const * f = dyn_cast<FunctionDecl>(d);
|
||||
DeclContextLookupConstResult res
|
||||
= decl->getDeclContext()->lookup(decl->getDeclName());
|
||||
for (auto d = compat::begin(res); d != compat::end(res); ++d) {
|
||||
FunctionDecl const * f = dyn_cast<FunctionDecl>(*d);
|
||||
if (f != nullptr && (!mustBeDeleted || f->isDeleted())) {
|
||||
if (f->getNumParams() == n) {
|
||||
bool hasSB = false;
|
||||
|
Reference in New Issue
Block a user