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