// RUN: %clang_cc1 -triple arm-apple-ios -emit-llvm -debug-info-kind=limited -fblocks %s -o - | FileCheck %s
// Objective-C code cargo-culted from debug-info-lifetime-crash.m.
@protocolNSObject- (id)copy;@end@class W;@interfaceView1@end@implementationController{void(^Block)(void);}- (void)View:(View1 *)Viewfoo:(W *)W{// The reference from inside the block implicitly creates another
// local variable for the referenced member. That is what gets
// suppressed by the attribute. It still gets debug info as a
// member, though.
// CHECK-NOT: !DILocalVariable(name: "weakSelf"
// CHECK: !DIDerivedType({{.*}} name: "weakSelf"
// CHECK-NOT: !DILocalVariable(name: "weakSelf"
__attribute__((nodebug))__typeof(self) weakSelf =self;
Block =[^{__typeof(self) strongSelf = weakSelf;} copy];}@end