From: Andrew Kaylor Date: Fri, 24 Apr 2015 23:27:32 +0000 (+0000) Subject: [WinEH] Find correct cloned entry block for outlined handler functions. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e0905685aac568d70914be062fda7b11c8fd615f;p=oota-llvm.git [WinEH] Find correct cloned entry block for outlined handler functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235791 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/WinEHPrepare.cpp b/lib/CodeGen/WinEHPrepare.cpp index 1325821d498..20f8acd6328 100644 --- a/lib/CodeGen/WinEHPrepare.cpp +++ b/lib/CodeGen/WinEHPrepare.cpp @@ -1723,7 +1723,8 @@ void WinEHPrepare::mapLandingPadBlocks(LandingPadInst *LPad, // exceptions but code called from catches can. For SEH, it isn't // important if some finally code before a catch-all is executed out of // line or after recovering from the exception. - if (Personality == EHPersonality::MSVC_CXX) + if (Personality == EHPersonality::MSVC_CXX && LPad->isCleanup() && + !Actions->includesCleanup()) findCleanupHandlers(Actions, BB, BB); // Add the catch handler to the action list.