xref: /llvm-project/clang/test/CodeGenCXX/clang-call-terminate.uwtable.cpp (revision 8f7b51e4ec09f6f50ea6508a196ec607f0659179)
1*8f7b51e4SShoaib Meenai // RUN: %clang_cc1 -triple=x86_64-linux-gnu -fexceptions -fcxx-exceptions -emit-llvm -o - %s | \
2*8f7b51e4SShoaib Meenai // RUN:   FileCheck --check-prefixes=CHECK,NOUNWIND %s
3*8f7b51e4SShoaib Meenai // RUN: %clang_cc1 -triple=x86_64-linux-gnu -fexceptions -fcxx-exceptions -funwind-tables=1 -emit-llvm -o - %s | \
4*8f7b51e4SShoaib Meenai // RUN:   FileCheck --check-prefixes=CHECK,SYNCUNWIND %s
5*8f7b51e4SShoaib Meenai // RUN: %clang_cc1 -triple=x86_64-linux-gnu -fexceptions -fcxx-exceptions -funwind-tables=2 -emit-llvm -o - %s | \
6*8f7b51e4SShoaib Meenai // RUN:   FileCheck --check-prefixes=CHECK,ASYNCUNWIND %s
7*8f7b51e4SShoaib Meenai 
caller(void callback ())8*8f7b51e4SShoaib Meenai void caller(void callback()) noexcept { callback(); }
9*8f7b51e4SShoaib Meenai 
10*8f7b51e4SShoaib Meenai // CHECK: define {{.*}}void @__clang_call_terminate({{[^)]*}}) #[[#ATTRNUM:]]
11*8f7b51e4SShoaib Meenai // CHECK: attributes #[[#ATTRNUM]] = {
12*8f7b51e4SShoaib Meenai // NOUNWIND-NOT: uwtable
13*8f7b51e4SShoaib Meenai // NOUNWIND-SAME: }
14*8f7b51e4SShoaib Meenai // SYNCUNWIND-SAME: uwtable(sync)
15*8f7b51e4SShoaib Meenai // ASYNCUNWIND-SAME: uwtable{{ }}
16