std::sort must be called with a strict weak ordering.
authorManuel Klimek <klimek@google.com>
Thu, 21 May 2015 15:38:25 +0000 (15:38 +0000)
committerManuel Klimek <klimek@google.com>
Thu, 21 May 2015 15:38:25 +0000 (15:38 +0000)
Found by a debug enabled stl.

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

lib/CodeGen/WinEHPrepare.cpp

index 77ee6396bb45d36737c5179ded994196bd39a447..7246e1cf3ea59234968fcd3b13dd6bbe17b330ed 100644 (file)
@@ -731,10 +731,10 @@ bool WinEHPrepare::prepareExceptionHandlers(
   // to a block within another outlined catch handler that would otherwise
   // be unreachable, we need to outline the nested landing pad before we
   // outline the landing pad which encloses it.
-  if (!isAsynchronousEHPersonality(Personality)) 
-    std::sort(LPads.begin(), LPads.end(), 
-              [this](LandingPadInst* const &L, LandingPadInst* const &R) {
-                return DT->dominates(R->getParent(), L->getParent());
+  if (!isAsynchronousEHPersonality(Personality))
+    std::sort(LPads.begin(), LPads.end(),
+              [this](LandingPadInst *const &L, LandingPadInst *const &R) {
+                return DT->properlyDominates(R->getParent(), L->getParent());
               });
 
   // This container stores the llvm.eh.recover and IndirectBr instructions