diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-04-17 01:52:14 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-04-17 01:52:14 +0000 |
commit | 100b24abc5a08552e0d94371561785d688249438 (patch) | |
tree | a3d04a8cae23d539a1e0601d6443b0d9e1332073 /clang/lib/Sema/TreeTransform.h | |
parent | 688866ba3eb97738b5f7d5acedb73c06a285ea2f (diff) | |
download | bcm5719-llvm-100b24abc5a08552e0d94371561785d688249438.tar.gz bcm5719-llvm-100b24abc5a08552e0d94371561785d688249438.zip |
Implement [over.match.oper]p3 properly, by filtering the non-candidates out
when building the candidate set, rather than trying to contort name lookup into
handling this.
llvm-svn: 206436
Diffstat (limited to 'clang/lib/Sema/TreeTransform.h')
-rw-r--r-- | clang/lib/Sema/TreeTransform.h | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/clang/lib/Sema/TreeTransform.h b/clang/lib/Sema/TreeTransform.h index 4094f5a7166..22913104d74 100644 --- a/clang/lib/Sema/TreeTransform.h +++ b/clang/lib/Sema/TreeTransform.h @@ -9759,11 +9759,7 @@ TreeTransform<Derived>::RebuildCXXOperatorCallExpr(OverloadedOperatorKind Op, if (UnresolvedLookupExpr *ULE = dyn_cast<UnresolvedLookupExpr>(Callee)) { assert(ULE->requiresADL()); - - for (auto I = ULE->decls_begin(), E = ULE->decls_end(); I != E; ++I) - SemaRef.addOverloadedOperatorToUnresolvedSet( - Functions, I.getPair(), First->getType(), - Second ? Second->getType() : QualType()); + Functions.append(ULE->decls_begin(), ULE->decls_end()); } else { // If we've resolved this to a particular non-member function, just call // that function. If we resolved it to a member function, |