blob: 128f881a5c00755c780d0ba9d1aa648b55639b6f [file] [log] [blame]
Fariborz Jahanianf322f2f2014-03-11 00:25:05 +00001// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
2// rdar://16206443
3
4@interface NSObject
5- (void) finalize;
Fariborz Jahanian0b3bc242014-06-10 17:08:04 +00006+ (void) class;
Fariborz Jahanianf322f2f2014-03-11 00:25:05 +00007@end
8
9__attribute__((availability(macosx,introduced=9876.5)))
10@interface MyClass : NSObject
11+ (void)someClassMethod;
12- (void)someInstanceMethod;
13@end
14
15@implementation MyClass
16+ (void)someClassMethod {
17}
18
19- (void)someInstanceMethod {
20 [MyClass someClassMethod];
21 [super finalize];
22}
23@end
24
25void kit()
26{
27 MyClass *wrapper = [MyClass alloc];
28}
29
30// CHECK: @"OBJC_CLASS_$_MyClass" = global %struct._class_t
31// CHECK: @"OBJC_METACLASS_$_NSObject" = external global %struct._class_t
32// CHECK: @"OBJC_METACLASS_$_MyClass" = global %struct._class_t
33// CHECK: @"OBJC_CLASS_$_NSObject" = external global %struct._class_t
34
Fariborz Jahanian0b3bc242014-06-10 17:08:04 +000035// rdar://16529125
36__attribute__((weak_import))
37@interface NSURLQueryItem : NSObject
38@end
39
40@implementation NSURLQueryItem (hax)
41+(void)classmethod { [super class]; }
42@end
43
44// CHECK: @"OBJC_METACLASS_$_NSURLQueryItem" = extern_weak global
45// CHECK: @"OBJC_CLASS_$_NSURLQueryItem" = extern_weak global