summaryrefslogtreecommitdiffstats
path: root/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-12-14 18:34:18 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-12-14 18:34:18 +0000
commit9b3ccdbf7256b8fab5824f8487c0abbc3182e06b (patch)
treec94ffd5ccab034a3f0ca2b1b44659dc473da86d3 /test/CodeGenCXX/microsoft-abi-eh-terminate.cpp
parent410dc5fc042400619dce122a12444323f75e197b (diff)
[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
Diffstat (limited to 'test/CodeGenCXX/microsoft-abi-eh-terminate.cpp')
-rw-r--r--test/CodeGenCXX/microsoft-abi-eh-terminate.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp b/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp
index 7eb9f08524..0b8d270e13 100644
--- a/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp
+++ b/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp
@@ -9,6 +9,7 @@ void never_throws() noexcept(true) {
// CHECK-LABEL: define void @"\01?never_throws@@YAXXZ"()
// CHECK-SAME: personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*)
// CHECK: invoke void @"\01?may_throw@@YAXXZ"()
-// MSVC2013: terminatepad within none [void ()* @"\01?terminate@@YAXXZ"]
-// MSVC2015: terminatepad within none [void ()* @__std_terminate]
+// CHECK: cleanuppad within none []
+// MSVC2013: call void @"\01?terminate@@YAXXZ"()
+// MSVC2015: call void @__std_terminate()
// CHECK-NEXT: unreachable