1// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -g %s -o - | FileCheck %s 2 3// Debug symbols for private ivars. This test ensures that we are 4// generating debug info for ivars added by the implementation. 5__attribute((objc_root_class)) @interface NSObject { 6 id isa; 7} 8@end 9 10@protocol Protocol 11@end 12 13@interface Delegate : NSObject<Protocol> { 14 @protected int foo; 15} 16@end 17 18@interface Delegate(NSObject) 19- (void)f; 20@end 21 22@implementation Delegate(NSObject) 23- (void)f { return; } 24@end 25 26@implementation Delegate { 27 int bar; 28} 29 30- (void)g:(NSObject*) anObject { 31 bar = foo; 32} 33@end 34 35// CHECK: metadata !{i32 {{[0-9]*}}, metadata !{{[0-9]*}}, metadata !"foo", metadata !{{[0-9]*}}, i32 14, i64 32, i64 32, i64 0, i32 2, metadata !{{[0-9]*}}, null} ; [ DW_TAG_member ] [foo] [line 14, size 32, align 32, offset 0] [protected] [from int] 36// CHECK: metadata !{i32 {{[0-9]*}}, metadata !{{[0-9]*}}, metadata !"bar", metadata !{{[0-9]*}}, i32 27, i64 32, i64 32, i64 0, i32 1, metadata !{{[0-9]*}}, null} ; [ DW_TAG_member ] [bar] [line 27, size 32, align 32, offset 0] [private] [from int] 37