summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-02-24 17:02:45 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-02-24 17:02:45 +0000
commit971d31be6f643dd551c8e88fe5989adf98dfe677 (patch)
tree86fe2349b66648fb749342bb308dc31ffb8f87aa /clang/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp
parentdbbaca0e1b5d9a6e36ffdf523c946f02fd6c2357 (diff)
downloadbcm5719-llvm-971d31be6f643dd551c8e88fe5989adf98dfe677.tar.gz
bcm5719-llvm-971d31be6f643dd551c8e88fe5989adf98dfe677.zip
[WinEH] Make sure terminate handlers have funclet operands
Calls to the terminate handler must be annotated within the exception region they are within. llvm-svn: 261751
Diffstat (limited to 'clang/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp')
-rw-r--r--clang/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp b/clang/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp
index 0b8d270e137..7836dcf32b1 100644
--- a/clang/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp
+++ b/clang/test/CodeGenCXX/microsoft-abi-eh-terminate.cpp
@@ -1,5 +1,5 @@
-// RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o - -triple=x86_64-pc-windows-msvc -mconstructor-aliases -fexceptions -fcxx-exceptions -fms-compatibility-version=18.00 | FileCheck -check-prefix=MSVC2013 %s
-// RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o - -triple=x86_64-pc-windows-msvc -mconstructor-aliases -fexceptions -fcxx-exceptions -fms-compatibility-version=19.00 | FileCheck -check-prefix=MSVC2015 %s
+// RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o - -triple=x86_64-pc-windows-msvc -mconstructor-aliases -fexceptions -fcxx-exceptions -fms-compatibility-version=18.00 | FileCheck -check-prefix=MSVC2013 -check-prefix=CHECK %s
+// RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o - -triple=x86_64-pc-windows-msvc -mconstructor-aliases -fexceptions -fcxx-exceptions -fms-compatibility-version=19.00 | FileCheck -check-prefix=MSVC2015 -check-prefix=CHECK %s
void may_throw();
void never_throws() noexcept(true) {
@@ -9,7 +9,8 @@ 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"()
-// CHECK: cleanuppad within none []
+// CHECK: %[[cp:.*]] = cleanuppad within none []
// MSVC2013: call void @"\01?terminate@@YAXXZ"()
// MSVC2015: call void @__std_terminate()
+// CHECK-SAME: [ "funclet"(token %[[cp]]) ]
// CHECK-NEXT: unreachable
OpenPOWER on IntegriCloud