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