forked from OSchip/llvm-project
PR43242: Fix crash when typo-correcting to an operator() that should not
have been visible. llvm-svn: 371468
This commit is contained in:
parent
06c8cb03ca
commit
245ba2c25f
|
@ -1990,16 +1990,7 @@ bool Sema::DiagnoseEmptyLookup(Scope *S, CXXScopeSpec &SS, LookupResult &R,
|
|||
R.clear();
|
||||
}
|
||||
|
||||
// In Microsoft mode, if we are performing lookup from within a friend
|
||||
// function definition declared at class scope then we must set
|
||||
// DC to the lexical parent to be able to search into the parent
|
||||
// class.
|
||||
if (getLangOpts().MSVCCompat && isa<FunctionDecl>(DC) &&
|
||||
cast<FunctionDecl>(DC)->getFriendObjectKind() &&
|
||||
DC->getLexicalParent()->isRecord())
|
||||
DC = DC->getLexicalParent();
|
||||
else
|
||||
DC = DC->getParent();
|
||||
DC = DC->getLookupParent();
|
||||
}
|
||||
|
||||
// We didn't find anything, so try to correct for a typo.
|
||||
|
|
|
@ -630,3 +630,7 @@ void Run(const int& points) {
|
|||
};
|
||||
}
|
||||
}
|
||||
|
||||
void operator_parens() {
|
||||
[&](int x){ operator()(); }(0); // expected-error {{undeclared 'operator()'}}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue