diff options
author | George Burgess IV <george.burgess.iv@gmail.com> | 2016-07-24 23:12:40 +0000 |
---|---|---|
committer | George Burgess IV <george.burgess.iv@gmail.com> | 2016-07-24 23:12:40 +0000 |
commit | 21081364f84dc468ad078ba09b0803285d256e69 (patch) | |
tree | 4aded39ad821b8caaff49d7e61bff9466aad79dd /clang/lib/Sema/SemaLambda.cpp | |
parent | 19244b67bc1602d02f71a56db4afc0cfbe2a9273 (diff) | |
download | bcm5719-llvm-21081364f84dc468ad078ba09b0803285d256e69.tar.gz bcm5719-llvm-21081364f84dc468ad078ba09b0803285d256e69.zip |
[Sema] Replace mem_fn with lambdas. NFC.
I'm told that some optimizers like lambdas a lot more than mem_fn.
Given that the readability difference is basically nil, and we seem to
use lambdas basically everywhere else, it seems sensible to just use
lambdas.
llvm-svn: 276577
Diffstat (limited to 'clang/lib/Sema/SemaLambda.cpp')
-rw-r--r-- | clang/lib/Sema/SemaLambda.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaLambda.cpp b/clang/lib/Sema/SemaLambda.cpp index 1b8410d7f4b..472637ba800 100644 --- a/clang/lib/Sema/SemaLambda.cpp +++ b/clang/lib/Sema/SemaLambda.cpp @@ -1144,14 +1144,16 @@ void Sema::ActOnLambdaError(SourceLocation StartLoc, Scope *CurScope, /// \brief Add a lambda's conversion to function pointer, as described in /// C++11 [expr.prim.lambda]p6. -static void addFunctionPointerConversion(Sema &S, +static void addFunctionPointerConversion(Sema &S, SourceRange IntroducerRange, CXXRecordDecl *Class, CXXMethodDecl *CallOperator) { // This conversion is explicitly disabled if the lambda's function has // pass_object_size attributes on any of its parameters. - if (llvm::any_of(CallOperator->parameters(), - std::mem_fn(&ParmVarDecl::hasAttr<PassObjectSizeAttr>))) + auto HasPassObjectSizeAttr = [](const ParmVarDecl *P) { + return P->hasAttr<PassObjectSizeAttr>(); + }; + if (llvm::any_of(CallOperator->parameters(), HasPassObjectSizeAttr)) return; // Add the conversion to function pointer. |