[Sema] Stable sort OverloadCandidates to remove non-deterministic ordering
Summary: This fixes failure in Misc/diag-template-diffing.cpp uncovered by D39245.
Reviewers: rjmccall, rsmith
Reviewed By: rjmccall
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D39944
llvm-svn: 318121
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index 5613528..f4b8b4e 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -10516,7 +10516,7 @@
}
}
- std::sort(Cands.begin(), Cands.end(),
+ std::stable_sort(Cands.begin(), Cands.end(),
CompareOverloadCandidatesForDisplay(S, OpLoc, Args.size(), Kind));
bool ReportedAmbiguousConversions = false;