summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization/ModuleManager.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2014-03-01 14:48:57 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2014-03-01 14:48:57 +0000
commitbbdd7640e885ce3a72bba05e0aaf2361751b9142 (patch)
tree7c5060b7cd327781f5d3c73b1f49592c6cb84395 /clang/lib/Serialization/ModuleManager.cpp
parent390ad0db26065532b138488fe94acbd0d27426e1 (diff)
downloadbcm5719-llvm-bbdd7640e885ce3a72bba05e0aaf2361751b9142.tar.gz
bcm5719-llvm-bbdd7640e885ce3a72bba05e0aaf2361751b9142.zip
[C++11] Replace verbose functors with succinct lambdas
No functionality change. llvm-svn: 202590
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
-rw-r--r--clang/lib/Serialization/ModuleManager.cpp20
1 files changed, 3 insertions, 17 deletions
diff --git a/clang/lib/Serialization/ModuleManager.cpp b/clang/lib/Serialization/ModuleManager.cpp
index ce7e7af3d13..201f8fadea6 100644
--- a/clang/lib/Serialization/ModuleManager.cpp
+++ b/clang/lib/Serialization/ModuleManager.cpp
@@ -134,22 +134,6 @@ ModuleManager::addModule(StringRef FileName, ModuleKind Type,
return NewModule? NewlyLoaded : AlreadyLoaded;
}
-namespace {
- /// \brief Predicate that checks whether a module file occurs within
- /// the given set.
- class IsInModuleFileSet : public std::unary_function<ModuleFile *, bool> {
- llvm::SmallPtrSet<ModuleFile *, 4> &Removed;
-
- public:
- IsInModuleFileSet(llvm::SmallPtrSet<ModuleFile *, 4> &Removed)
- : Removed(Removed) { }
-
- bool operator()(ModuleFile *MF) const {
- return Removed.count(MF);
- }
- };
-}
-
void ModuleManager::removeModules(ModuleIterator first, ModuleIterator last,
ModuleMap *modMap) {
if (first == last)
@@ -159,7 +143,9 @@ void ModuleManager::removeModules(ModuleIterator first, ModuleIterator last,
llvm::SmallPtrSet<ModuleFile *, 4> victimSet(first, last);
// Remove any references to the now-destroyed modules.
- IsInModuleFileSet checkInSet(victimSet);
+ std::function<bool(ModuleFile *)> checkInSet = [&](ModuleFile *MF) {
+ return victimSet.count(MF);
+ };
for (unsigned i = 0, n = Chain.size(); i != n; ++i) {
Chain[i]->ImportedBy.remove_if(checkInSet);
}
OpenPOWER on IntegriCloud