From d0a0c382ea51d36dc7e5938291763da73b4262dc Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Thu, 21 Jan 2010 00:43:30 +0000 Subject: Make sure that landing pad entries in the EH call site table are in the proper order for SjLj style exception handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94055 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SjLjEHPrepare.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/CodeGen/SjLjEHPrepare.cpp') diff --git a/lib/CodeGen/SjLjEHPrepare.cpp b/lib/CodeGen/SjLjEHPrepare.cpp index 95589331cf..95b94e6c30 100644 --- a/lib/CodeGen/SjLjEHPrepare.cpp +++ b/lib/CodeGen/SjLjEHPrepare.cpp @@ -474,8 +474,10 @@ bool SjLjEHPass::insertSjLjEHSupport(Function &F) { // At this point, we are all set up, update the invoke instructions // to mark their call_site values, and fill in the dispatch switch // accordingly. - for (unsigned i = 0, e = Invokes.size(); i != e; ++i) + for (unsigned i = 0, e = Invokes.size(); i != e; ++i) { + F.setCallSiteNumber(Invokes[i], i+1); markInvokeCallSite(Invokes[i], i+1, CallSite, DispatchSwitch); + } // The front end has likely added calls to _Unwind_Resume. We need // to find those calls and mark the call_site as -1 immediately prior. -- cgit v1.2.3