[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235212 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Majnemer 2015-04-17 17:20:30 +00:00
parent 44b800f44d
commit 416a5187f7

View File

@ -437,7 +437,7 @@ void Win64Exception::emitCXXFrameHandler3Table(const MachineFunction *MF) {
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