xref: /llvm-project/clang/test/CodeGen/PowerPC/ignore-exceptions.cpp (revision 39db5e1ed87363a9ffea81e53520b542201b3262)
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 Chaofan void 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