]> granicus.if.org Git - clang/commit
[MS ABI] Don't rely on terminatepad
authorDavid Majnemer <david.majnemer@gmail.com>
Mon, 14 Dec 2015 18:34:18 +0000 (18:34 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Mon, 14 Dec 2015 18:34:18 +0000 (18:34 +0000)
commit9b3ccdbf7256b8fab5824f8487c0abbc3182e06b
treec94ffd5ccab034a3f0ca2b1b44659dc473da86d3
parent410dc5fc042400619dce122a12444323f75e197b
[MS ABI] Don't rely on terminatepad

We'd like to remove support for terminatepad from LLVM.  To do this, we
need to move Clang off of it first.  The intent behind terminatepad was
to carefully model exception specifications for the MSVC personality.

However, we don't support exception specifications for the MSVC
personality and neither does MSVC.  Instead, MSVC supports
all-or-nothing exception specifications.  We can model this limited
usage using cleanuppads which call std::terminate.

Differential Revision: http://reviews.llvm.org/D15478

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255521 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGException.cpp
test/CodeGenCXX/exceptions-cxx-new.cpp
test/CodeGenCXX/microsoft-abi-eh-terminate.cpp