]> granicus.if.org Git - clang/commitdiff
[Sema] Stable sort OverloadCandidates to remove non-deterministic ordering
authorMandeep Singh Grang <mgrang@codeaurora.org>
Tue, 14 Nov 2017 00:22:24 +0000 (00:22 +0000)
committerMandeep Singh Grang <mgrang@codeaurora.org>
Tue, 14 Nov 2017 00:22:24 +0000 (00:22 +0000)
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@318121 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaOverload.cpp

index 56135288db9fbb714823c393c02199a72ac6f9e2..f4b8b4e34a8b0e771bc3634eb7d780a08f705948 100644 (file)
@@ -10516,7 +10516,7 @@ void OverloadCandidateSet::NoteCandidates(
     }
   }
 
-  std::sort(Cands.begin(), Cands.end(),
+  std::stable_sort(Cands.begin(), Cands.end(),
             CompareOverloadCandidatesForDisplay(S, OpLoc, Args.size(), Kind));
 
   bool ReportedAmbiguousConversions = false;