1*39db5e1eSNikita Popov // RUN: %clang_cc1 %s -triple powerpc64-linux -fexceptions -fcxx-exceptions -fignore-exceptions -emit-llvm -o - | FileCheck %s 2f563bd74SQiu Chaofan 3f563bd74SQiu Chaofan struct A { ~AA4f563bd74SQiu Chaofan ~A(){} 5f563bd74SQiu Chaofan }; 6f563bd74SQiu Chaofan f(void)7f563bd74SQiu Chaofanvoid f(void) { 8*39db5e1eSNikita Popov // CHECK-NOT: personality ptr @__gcc_personality_v0 9f563bd74SQiu Chaofan A a; 10f563bd74SQiu Chaofan try { 11f563bd74SQiu Chaofan throw 1; 12f563bd74SQiu Chaofan } catch(...) { 13f563bd74SQiu Chaofan } 14f563bd74SQiu Chaofan // CHECK: %a = alloca %struct.A, align 1 15*39db5e1eSNikita Popov // CHECK: %exception = call ptr @__cxa_allocate_exception(i64 4) #1 16*39db5e1eSNikita Popov // CHECK: store i32 1, ptr %exception, align 16 17*39db5e1eSNikita Popov // CHECK: call void @__cxa_throw(ptr %exception, ptr @_ZTIi, ptr null) #2 18f563bd74SQiu Chaofan // CHECK: unreachable 19f563bd74SQiu Chaofan 20f563bd74SQiu Chaofan // CHECK-NOT: invoke 21f563bd74SQiu Chaofan // CHECK-NOT: landingpad 22f563bd74SQiu Chaofan // CHECK-NOT: __cxa_begin_catch 23f563bd74SQiu Chaofan // CHECK-NOT: __cxa_end_catch 24f563bd74SQiu Chaofan } 25