1 | // RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o %t %s |
2 | // RUN: grep '.lazy_reference .objc_class_name_A' %t | count 1 |
3 | // RUN: grep '.lazy_reference .objc_class_name_Unknown' %t | count 1 |
4 | // RUN: grep '.lazy_reference .objc_class_name_Protocol' %t | count 1 |
5 | // RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -DWITH_IMPL -emit-llvm -o %t %s |
6 | // RUN: grep '.lazy_reference .objc_class_name_Root' %t | count 1 |
7 | |
8 | @interface Root |
9 | -(id) alloc; |
10 | -(id) init; |
11 | @end |
12 | |
13 | @protocol P @end |
14 | |
15 | @interface A : Root |
16 | @end |
17 | |
18 | @interface A (Category) |
19 | +(void) foo; |
20 | @end |
21 | |
22 | #ifdef WITH_IMPL |
23 | @implementation A |
24 | @end |
25 | #endif |
26 | |
27 | @interface Unknown |
28 | +test; |
29 | @end |
30 | |
31 | |
32 | int main() { |
33 | id x = @protocol(P); |
34 | [ A alloc ]; |
35 | [ A foo ]; |
36 | [ Unknown test ]; |
37 | return 0; |
38 | } |
39 | |
40 | |