[llvm] r235212 - [WinEH] Allow CatchHigh to be equal to TryHigh

David Majnemer david.majnemer at gmail.com
Fri Apr 17 10:20:30 PDT 2015


Author: majnemer
Date: Fri Apr 17 12:20:30 2015
New Revision: 235212

URL: http://llvm.org/viewvc/llvm-project?rev=235212&view=rev
Log:
[WinEH] Allow CatchHigh to be equal to TryHigh

Catch blocks which are empty may be in the same state as their try
blocks.  It is not meaningful to give the catch block its own state
number in this case because it can't do anything exceptional.

Modified:
    llvm/trunk/lib/CodeGen/AsmPrinter/Win64Exception.cpp

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/Win64Exception.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/Win64Exception.cpp?rev=235212&r1=235211&r2=235212&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/Win64Exception.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/Win64Exception.cpp Fri Apr 17 12:20:30 2015
@@ -437,7 +437,7 @@ void Win64Exception::emitCXXFrameHandler
             std::max(CatchHigh, FuncInfo.CatchHandlerMaxState[HT.Handler]);
 
       assert(TBME.TryLow <= TBME.TryHigh);
-      assert(CatchHigh > TBME.TryHigh);
+      assert(CatchHigh >= TBME.TryHigh);
       OS.EmitIntValue(TBME.TryLow, 4);                    // TryLow
       OS.EmitIntValue(TBME.TryHigh, 4);                   // TryHigh
       OS.EmitIntValue(CatchHigh, 4);                      // CatchHigh





More information about the llvm-commits mailing list