[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / CodeGenObjCXX / arc-list-init-destruct.mm
blob15e0255c4740b73e9d9298a2a8c4947092d782b3
1 // RUN: %clang_cc1 -triple x86_64-apple-macosx10.13.0 -std=c++1z -fobjc-arc -fobjc-exceptions -fcxx-exceptions -fexceptions -emit-llvm -o - %s | FileCheck %s
3 // CHECK: %[[STRUCT_CLASS1:.*]] = type { ptr }
5 @interface Class0;
6 @end
8 struct Class1 {
9   Class0 *f;
12 struct Container {
13   Class1 a;
14   bool b;
17 bool getBool() {
18   extern void mayThrow();
19   mayThrow();
20   return false;
23 Class0 *g;
25 // CHECK: define {{.*}} @_Z4testv()
26 // CHECK: invoke noundef zeroext i1 @_Z7getBoolv()
27 // CHECK: landingpad { ptr, i32 }
28 // CHECK: call void @_ZN6Class1D1Ev(ptr {{[^,]*}} %{{.*}})
29 // CHECK: br label
31 // CHECK: define linkonce_odr void @_ZN6Class1D1Ev(
33 Container test() {
34   return {{g}, getBool()};