From 69132a7fb28600d47e43f4f776f6352856efb967 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Fri, 3 Apr 2015 22:49:05 +0000 Subject: [WinEH] Fill out .xdata for catch objects This add support for catching an exception such that an exception object available to the catch handler will be initialized by the runtime. llvm-svn: 234062 --- llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp') diff --git a/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp b/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp index 987ba83b391..bfaab9e6b6b 100644 --- a/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp @@ -321,9 +321,7 @@ void WinEHNumbering::createTryBlockMapEntry(int TryLow, int TryHigh, cast(CS->getAggregateElement(1)->stripPointerCasts()); } HT.Handler = cast(CH->getHandlerBlockOrFunc()); - // FIXME: We don't support catching objects yet! - HT.CatchObjIdx = INT_MAX; - HT.CatchObjOffset = 0; + HT.CatchObjRecoverIdx = CH->getExceptionVarIndex(); TBME.HandlerArray.push_back(HT); } FuncInfo.TryBlockMap.push_back(TBME); -- cgit v1.2.3