1 // RUN: %clang_cc1 -triple arm-apple-ios -emit-llvm -debug-info-kind=limited -fblocks %s -o - | FileCheck %s
2 // Objective-C code cargo-culted from debug-info-lifetime-crash.m.
9 @implementation Controller {
12 - (void)View:(View1 *)View foo:(W *)W
14 // The reference from inside the block implicitly creates another
15 // local variable for the referenced member. That is what gets
16 // suppressed by the attribute. It still gets debug info as a
18 // CHECK-NOT: !DILocalVariable(name: "weakSelf"
19 // CHECK: !DIDerivedType({{.*}} name: "weakSelf"
20 // CHECK-NOT: !DILocalVariable(name: "weakSelf"
21 __attribute__((nodebug)) __typeof(self) weakSelf = self;
23 __typeof(self) strongSelf = weakSelf;