1 | // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -Wno-objc-root-class -emit-llvm -o - %s | \ |
2 | // RUN: FileCheck %s |
3 | // CHECK: @"OBJC_LABEL_NONLAZY_CLASS_$" = private global [2 x {{.*}}]{{.*}}@"OBJC_CLASS_$_A"{{.*}},{{.*}}@"OBJC_CLASS_$_D"{{.*}} section "__DATA,__objc_nlclslist,regular,no_dead_strip", align 8 |
4 | // CHECK: @"OBJC_LABEL_NONLAZY_CATEGORY_$" = private global [1 x {{.*}}] {{.*}}@"\01l_OBJC_$_CATEGORY_A_$_Cat"{{.*}}, section "__DATA,__objc_nlcatlist,regular,no_dead_strip", align 8 |
5 | |
6 | @interface A @end |
7 | @implementation A |
8 | +(void) load { |
9 | } |
10 | @end |
11 | |
12 | @interface A (Cat) @end |
13 | @implementation A (Cat) |
14 | +(void) load { |
15 | } |
16 | @end |
17 | |
18 | @interface B @end |
19 | @implementation B |
20 | -(void) load { |
21 | } |
22 | @end |
23 | |
24 | @interface B (Cat) @end |
25 | @implementation B (Cat) |
26 | -(void) load { |
27 | } |
28 | @end |
29 | |
30 | @interface C : A @end |
31 | @implementation C |
32 | @end |
33 | |
34 | __attribute__((objc_nonlazy_class)) |
35 | @interface D @end |
36 | |
37 | @implementation D @end |
38 | |