зеркало из https://github.com/microsoft/clang-1.git
Overload resolution doesn't decide whether to do ADL or not anymore; stopping
threading that state. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89557 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
7e0c1957d1
Коммит
d2ede7dfbc
|
@ -961,7 +961,7 @@ public:
|
|||
|
||||
void AddOverloadedCallCandidates(llvm::SmallVectorImpl<NamedDecl*>& Callees,
|
||||
DeclarationName &UnqualifiedName,
|
||||
bool &ArgumentDependentLookup,
|
||||
bool ArgumentDependentLookup,
|
||||
bool HasExplicitTemplateArgs,
|
||||
const TemplateArgumentLoc *ExplicitTemplateArgs,
|
||||
unsigned NumExplicitTemplateArgs,
|
||||
|
@ -979,7 +979,7 @@ public:
|
|||
Expr **Args, unsigned NumArgs,
|
||||
SourceLocation *CommaLocs,
|
||||
SourceLocation RParenLoc,
|
||||
bool &ArgumentDependentLookup);
|
||||
bool ArgumentDependentLookup);
|
||||
|
||||
OwningExprResult CreateOverloadedUnaryOp(SourceLocation OpLoc,
|
||||
unsigned Opc,
|
||||
|
|
|
@ -4509,7 +4509,6 @@ Sema::ResolveAddressOfOverloadedFunction(Expr *From, QualType ToType,
|
|||
/// \brief Add a single candidate to the overload set.
|
||||
static void AddOverloadedCallCandidate(Sema &S,
|
||||
NamedDecl *Callee,
|
||||
bool &ArgumentDependentLookup,
|
||||
bool HasExplicitTemplateArgs,
|
||||
const TemplateArgumentLoc *ExplicitTemplateArgs,
|
||||
unsigned NumExplicitTemplateArgs,
|
||||
|
@ -4523,10 +4522,6 @@ static void AddOverloadedCallCandidate(Sema &S,
|
|||
assert(!HasExplicitTemplateArgs && "Explicit template arguments?");
|
||||
S.AddOverloadCandidate(Func, Args, NumArgs, CandidateSet, false, false,
|
||||
PartialOverloading);
|
||||
|
||||
if (Func->getDeclContext()->isRecord() ||
|
||||
Func->getDeclContext()->isFunctionOrMethod())
|
||||
ArgumentDependentLookup = false;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4536,9 +4531,6 @@ static void AddOverloadedCallCandidate(Sema &S,
|
|||
ExplicitTemplateArgs,
|
||||
NumExplicitTemplateArgs,
|
||||
Args, NumArgs, CandidateSet);
|
||||
|
||||
if (FuncTemplate->getDeclContext()->isRecord())
|
||||
ArgumentDependentLookup = false;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -4551,7 +4543,7 @@ static void AddOverloadedCallCandidate(Sema &S,
|
|||
/// dependent lookup to the given overload set.
|
||||
void Sema::AddOverloadedCallCandidates(llvm::SmallVectorImpl<NamedDecl*> &Fns,
|
||||
DeclarationName &UnqualifiedName,
|
||||
bool &ArgumentDependentLookup,
|
||||
bool ArgumentDependentLookup,
|
||||
bool HasExplicitTemplateArgs,
|
||||
const TemplateArgumentLoc *ExplicitTemplateArgs,
|
||||
unsigned NumExplicitTemplateArgs,
|
||||
|
@ -4589,8 +4581,7 @@ void Sema::AddOverloadedCallCandidates(llvm::SmallVectorImpl<NamedDecl*> &Fns,
|
|||
|
||||
for (llvm::SmallVectorImpl<NamedDecl*>::iterator I = Fns.begin(),
|
||||
E = Fns.end(); I != E; ++I)
|
||||
AddOverloadedCallCandidate(*this, *I, ArgumentDependentLookup,
|
||||
HasExplicitTemplateArgs,
|
||||
AddOverloadedCallCandidate(*this, *I, HasExplicitTemplateArgs,
|
||||
ExplicitTemplateArgs, NumExplicitTemplateArgs,
|
||||
Args, NumArgs, CandidateSet,
|
||||
PartialOverloading);
|
||||
|
@ -4621,7 +4612,7 @@ FunctionDecl *Sema::ResolveOverloadedCallFn(Expr *Fn,
|
|||
Expr **Args, unsigned NumArgs,
|
||||
SourceLocation *CommaLocs,
|
||||
SourceLocation RParenLoc,
|
||||
bool &ArgumentDependentLookup) {
|
||||
bool ArgumentDependentLookup) {
|
||||
OverloadCandidateSet CandidateSet;
|
||||
|
||||
// Add the functions denoted by Callee to the set of candidate
|
||||
|
|
Загрузка…
Ссылка в новой задаче