1 | // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s |
2 | // RUN: %clang_cc1 -triple armv7-apple-darwin10 -emit-llvm -o - %s | FileCheck %s |
3 | // RUN: %clang_cc1 -triple arm64-apple-ios -emit-llvm -o - %s | FileCheck %s |
4 | // rdar://16206443 |
5 | |
6 | @interface NSObject |
7 | - (void) finalize; |
8 | + (void) class; |
9 | @end |
10 | |
11 | __attribute__((availability(macosx,introduced=9876.5))) |
12 | @interface MyClass : NSObject |
13 | + (void)someClassMethod; |
14 | - (void)someInstanceMethod; |
15 | @end |
16 | |
17 | @implementation MyClass |
18 | + (void)someClassMethod { |
19 | } |
20 | |
21 | - (void)someInstanceMethod { |
22 | [MyClass someClassMethod]; |
23 | [super finalize]; |
24 | } |
25 | @end |
26 | |
27 | void kit() |
28 | { |
29 | MyClass *wrapper = [MyClass alloc]; |
30 | } |
31 | |
32 | // CHECK: @"OBJC_CLASS_$_MyClass" = global %struct._class_t |
33 | // CHECK: @"OBJC_METACLASS_$_NSObject" = external global %struct._class_t |
34 | // CHECK: @"OBJC_METACLASS_$_MyClass" = global %struct._class_t |
35 | // CHECK: @"OBJC_CLASS_$_NSObject" = external global %struct._class_t |
36 | |
37 | // rdar://16529125 |
38 | __attribute__((weak_import)) |
39 | @interface NSURLQueryItem : NSObject |
40 | @end |
41 | |
42 | @implementation NSURLQueryItem (hax) |
43 | +(void)classmethod { [super class]; } |
44 | @end |
45 | |
46 | // CHECK: @"OBJC_METACLASS_$_NSURLQueryItem" = extern_weak global |
47 | // CHECK: @"OBJC_CLASS_$_NSURLQueryItem" = extern_weak global |
48 | |
49 | // rdar://17633301 |
50 | __attribute__((visibility("default"))) __attribute__((availability(ios,introduced=9876.5))) |
51 | @interface AVScheduledAudioParameters @end |
52 | |
53 | @interface XXXX : AVScheduledAudioParameters |
54 | @end |
55 | |
56 | @implementation AVScheduledAudioParameters @end |
57 | @implementation XXXX @end |
58 | |
59 | // CHECK: @"OBJC_CLASS_$_AVScheduledAudioParameters" = global %struct._class_t |
60 | // CHECK: @"OBJC_METACLASS_$_AVScheduledAudioParameters" = global %struct._class_t |
61 | |