[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / CodeGenObjCXX / nested-ehlocation.mm
blob030bc7c5cd3e488a74e3f8a5be53e12e9a23d03c
1 // RUN: %clang_cc1  -triple x86_64-apple-macosx -emit-llvm -debug-info-kind=limited -stdlib=libc++ -fblocks -fexceptions -x objective-c++ -o - %s | FileCheck %s
3 // Verify that all invoke instructions have a debug location.
4 // Literally: There are no unwind lines that don't end with ", (!dbg 123)".
5 // CHECK-NOT: {{to label %.* unwind label [^,]+$}}
7 void block(void (^)(void));
8 extern void foo();
9 struct A {
10   ~A(void) { foo(); }
11   void bar() const {}
13 void baz(void const *const) {}
14 struct B : A {};
15 void test() {
16   A a;
17   B b;
18   block(^(void) {
19     baz(&b);
20     block(^() {
21       a.bar();
22     });
23   });