[AST] Don't use make_pointee_iterator in VTableBuilder.

Our implementation of make_pointee_iterator seems to be causing MSVC
2015 to crash, so I'm going to remove it.

llvm-svn: 283790
This commit is contained in:
Justin Lebar 2016-10-10 19:26:22 +00:00
parent b2f0f05742
commit 76d4defe41
1 changed files with 4 additions and 3 deletions

View File

@ -3361,9 +3361,10 @@ static bool rebucketPaths(VPtrInfoVector &Paths) {
// sorted vector to implement a multiset to form the buckets. Note that the
// ordering is based on pointers, but it doesn't change our output order. The
// current algorithm is designed to match MSVC 2012's names.
llvm::SmallVector<std::reference_wrapper<VPtrInfo>, 2> PathsSorted(
llvm::make_pointee_iterator(Paths.begin()),
llvm::make_pointee_iterator(Paths.end()));
llvm::SmallVector<std::reference_wrapper<VPtrInfo>, 2> PathsSorted;
PathsSorted.reserve(Paths.size());
for (auto& P : Paths)
PathsSorted.push_back(*P);
std::sort(PathsSorted.begin(), PathsSorted.end(),
[](const VPtrInfo &LHS, const VPtrInfo &RHS) {
return LHS.MangledPath < RHS.MangledPath;