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