diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-07-25 12:14:04 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-07-25 12:14:04 +0000 |
commit | 9a9efbafa701f7c6a2c6732b4e8e2a4e0adc23e1 (patch) | |
tree | 16a6e5cfbf3c506628d46fd8b691f84acdeff081 /clang/lib/Serialization/ModuleManager.cpp | |
parent | 20dc35aff6e71044b796c4291d9c9238762ca963 (diff) | |
download | llvm-9a9efbafa701f7c6a2c6732b4e8e2a4e0adc23e1.zip llvm-9a9efbafa701f7c6a2c6732b4e8e2a4e0adc23e1.tar.gz llvm-9a9efbafa701f7c6a2c6732b4e8e2a4e0adc23e1.tar.bz2 |
[Modules] Wrap the main ModuleManager visitor in a function_ref.
Avoids the awkward passing of an opaque void *UserData argument. No
functional change intended.
llvm-svn: 243213
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
-rw-r--r-- | clang/lib/Serialization/ModuleManager.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/clang/lib/Serialization/ModuleManager.cpp b/clang/lib/Serialization/ModuleManager.cpp index dbdd945..406c5c0 100644 --- a/clang/lib/Serialization/ModuleManager.cpp +++ b/clang/lib/Serialization/ModuleManager.cpp @@ -313,10 +313,8 @@ ModuleManager::~ModuleManager() { delete FirstVisitState; } -void -ModuleManager::visit(bool (*Visitor)(ModuleFile &M, void *UserData), - void *UserData, - llvm::SmallPtrSetImpl<ModuleFile *> *ModuleFilesHit) { +void ModuleManager::visit(llvm::function_ref<bool(ModuleFile &M)> Visitor, + llvm::SmallPtrSetImpl<ModuleFile *> *ModuleFilesHit) { // If the visitation order vector is the wrong size, recompute the order. if (VisitOrder.size() != Chain.size()) { unsigned N = size(); @@ -388,7 +386,7 @@ ModuleManager::visit(bool (*Visitor)(ModuleFile &M, void *UserData), // Visit the module. assert(State->VisitNumber[CurrentModule->Index] == VisitNumber - 1); State->VisitNumber[CurrentModule->Index] = VisitNumber; - if (!Visitor(*CurrentModule, UserData)) + if (!Visitor(*CurrentModule)) continue; // The visitor has requested that cut off visitation of any |