Adrian Prantl | 4919de6 | 2013-03-06 22:03:30 +0000 | [diff] [blame] | 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] |