From: David Majnemer Date: Fri, 17 Apr 2015 20:12:09 +0000 (+0000) Subject: [WinEH] Reusing HandlerType entries leads to small CatchHigh values X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4120efc684401f0f2ad4f434ef9ffa23b0b6173a;p=oota-llvm.git [WinEH] Reusing HandlerType entries leads to small CatchHigh values CatchHigh may be smaller than TryHigh if we reuse an outlined catch handler for two different invokes with different EH states. We have no evidence which shows that CatchHigh must be greater than TryHigh or TryLow. We can revisit this if we turn out to be wrong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235223 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/AsmPrinter/Win64Exception.cpp b/lib/CodeGen/AsmPrinter/Win64Exception.cpp index c5f1df88355..8c90bed2b5a 100644 --- a/lib/CodeGen/AsmPrinter/Win64Exception.cpp +++ b/lib/CodeGen/AsmPrinter/Win64Exception.cpp @@ -437,7 +437,6 @@ void Win64Exception::emitCXXFrameHandler3Table(const MachineFunction *MF) { std::max(CatchHigh, FuncInfo.CatchHandlerMaxState[HT.Handler]); assert(TBME.TryLow <= TBME.TryHigh); - assert(CatchHigh >= TBME.TryHigh); OS.EmitIntValue(TBME.TryLow, 4); // TryLow OS.EmitIntValue(TBME.TryHigh, 4); // TryHigh OS.EmitIntValue(CatchHigh, 4); // CatchHigh