summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2016-12-12 14:41:19 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2016-12-12 14:41:19 +0000
commita8c3e67ab6dbe9236bbe27e2a746ff2f8cd677bb (patch)
tree74266ef95660f5b58d9e3c3016cc0944175b25ee
parentb9666655c2d4018a25358ad54dbbb80eda4319fa (diff)
downloadbcm5719-llvm-a8c3e67ab6dbe9236bbe27e2a746ff2f8cd677bb.tar.gz
bcm5719-llvm-a8c3e67ab6dbe9236bbe27e2a746ff2f8cd677bb.zip
Use function_ref to avoid allocation in std::function. NFC.
llvm-svn: 289433
-rw-r--r--clang/include/clang/Sema/Sema.h3
-rw-r--r--clang/lib/Sema/SemaChecking.cpp3
2 files changed, 4 insertions, 2 deletions
diff --git a/clang/include/clang/Sema/Sema.h b/clang/include/clang/Sema/Sema.h
index b08c698d0b8..2028d2cd782 100644
--- a/clang/include/clang/Sema/Sema.h
+++ b/clang/include/clang/Sema/Sema.h
@@ -10029,7 +10029,8 @@ public:
/// local diagnostics like in reference binding.
void RefersToMemberWithReducedAlignment(
Expr *E,
- std::function<void(Expr *, RecordDecl *, FieldDecl *, CharUnits)> Action);
+ llvm::function_ref<void(Expr *, RecordDecl *, FieldDecl *, CharUnits)>
+ Action);
};
/// \brief RAII object that enters a new expression evaluation context.
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
index fd0654b3ff2..6a9afc4deb5 100644
--- a/clang/lib/Sema/SemaChecking.cpp
+++ b/clang/lib/Sema/SemaChecking.cpp
@@ -11816,7 +11816,8 @@ void Sema::DiscardMisalignedMemberAddress(const Type *T, Expr *E) {
void Sema::RefersToMemberWithReducedAlignment(
Expr *E,
- std::function<void(Expr *, RecordDecl *, FieldDecl *, CharUnits)> Action) {
+ llvm::function_ref<void(Expr *, RecordDecl *, FieldDecl *, CharUnits)>
+ Action) {
const auto *ME = dyn_cast<MemberExpr>(E);
if (!ME)
return;
OpenPOWER on IntegriCloud