xref: /llvm-project/clang/test/CodeGen/windows-seh-async-exceptions.cpp (revision 33e3b2c46084bc47ef4067ed487b24b58934d044)
1 // RUN: %clang_cc1 -triple x86_64-windows -fasync-exceptions -x c++ \
2 // RUN:  -emit-llvm %s -o -| FileCheck %s
3 
4 extern "C" int printf(const char*,...);
5 class PrintfArg
6 {
7 public:
8   PrintfArg();
9   PrintfArg(const char* s);
10 
11   // compiler crash fixed if this destructor removed
~PrintfArg()12   ~PrintfArg() {int x; printf("ddd\n");  }
13 };
14 
15 void devif_Warning(const char* fmt, PrintfArg arg1 = PrintfArg());
16 // CHECK-NOT: invoke void @llvm.seh.scope.begin()
17 // CHECK-NOT: invoke void @llvm.seh.scope.end()
myfunc(unsigned index)18 unsigned myfunc(unsigned index)
19 {
20   devif_Warning("");
21   return 0;
22 }
23