diff --git a/clang/lib/Serialization/MultiOnDiskHashTable.h b/clang/lib/Serialization/MultiOnDiskHashTable.h index fa18a29a9a98e..996e9b94287f4 100644 --- a/clang/lib/Serialization/MultiOnDiskHashTable.h +++ b/clang/lib/Serialization/MultiOnDiskHashTable.h @@ -103,11 +103,9 @@ template class MultiOnDiskHashTable { /// The current set of on-disk tables. table_range tables() { - auto Begin = Tables.begin(), End = Tables.end(); - if (getMergedTable()) - ++Begin; - return llvm::make_range(llvm::map_iterator(Begin, AsOnDiskTable()), - llvm::map_iterator(End, AsOnDiskTable())); + unsigned DropBegin = getMergedTable() ? 1 : 0; + return llvm::map_range(llvm::drop_begin(Tables, DropBegin), + AsOnDiskTable()); } MergedTable *getMergedTable() const {