Peek inside extern "C" declarations only after name hasn't been matched. Change initial for loop use != comparison rather than <
This commit is contained in:
parent
83b879cd3a
commit
9759ee7557
@ -62,13 +62,18 @@ namespace cling {
|
||||
}
|
||||
|
||||
NamedDecl* Transaction::containsNamedDecl(llvm::StringRef name) const {
|
||||
for (auto I = decls_begin(), E = decls_end(); I < E; ++I) {
|
||||
for (auto I = decls_begin(), E = decls_end(); I != E; ++I) {
|
||||
for (auto DI : I->m_DGR) {
|
||||
if (NamedDecl* ND = dyn_cast<NamedDecl>(DI)) {
|
||||
if (name.equals(ND->getNameAsString()))
|
||||
return ND;
|
||||
}
|
||||
else if (LinkageSpecDecl* LSD = dyn_cast<LinkageSpecDecl>(DI)) {
|
||||
}
|
||||
}
|
||||
// Not found yet, peek inside extern "C" declarations
|
||||
for (auto I = decls_begin(), E = decls_end(); I != E; ++I) {
|
||||
for (auto DI : I->m_DGR) {
|
||||
if (LinkageSpecDecl* LSD = dyn_cast<LinkageSpecDecl>(DI)) {
|
||||
for (Decl* DI : LSD->decls()) {
|
||||
if (NamedDecl* ND = dyn_cast<NamedDecl>(DI)) {
|
||||
if (name.equals(ND->getNameAsString()))
|
||||
@ -78,7 +83,7 @@ namespace cling {
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void Transaction::addNestedTransaction(Transaction* nested) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user