61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s
 | |
| // RUN: %clang_cc1 -triple armv7-apple-darwin10 -emit-llvm  -o - %s | FileCheck %s
 | |
| // RUN: %clang_cc1 -triple arm64-apple-ios -emit-llvm -o - %s | FileCheck %s
 | |
| // rdar://16206443
 | |
| 
 | |
| @interface NSObject 
 | |
| - (void) finalize;
 | |
| + (void) class;
 | |
| @end
 | |
| 
 | |
| __attribute__((availability(macosx,introduced=9876.5)))
 | |
| @interface MyClass : NSObject
 | |
| + (void)someClassMethod;
 | |
| - (void)someInstanceMethod;
 | |
| @end
 | |
| 
 | |
| @implementation MyClass
 | |
| + (void)someClassMethod {
 | |
| }
 | |
| 
 | |
| - (void)someInstanceMethod {
 | |
|     [MyClass someClassMethod];
 | |
|     [super finalize];
 | |
| }
 | |
| @end
 | |
| 
 | |
| void kit()
 | |
| {
 | |
|     MyClass *wrapper = [MyClass alloc];
 | |
| }
 | |
| 
 | |
| // CHECK: @"OBJC_CLASS_$_MyClass" = global %struct._class_t
 | |
| // CHECK: @"OBJC_METACLASS_$_NSObject" = external global %struct._class_t
 | |
| // CHECK: @"OBJC_METACLASS_$_MyClass" = global %struct._class_t
 | |
| // CHECK: @"OBJC_CLASS_$_NSObject" = external global %struct._class_t
 | |
| 
 | |
| // rdar://16529125
 | |
| __attribute__((weak_import))
 | |
| @interface NSURLQueryItem : NSObject
 | |
| @end
 | |
| 
 | |
| @implementation NSURLQueryItem (hax)
 | |
| +(void)classmethod { [super class]; }
 | |
| @end
 | |
| 
 | |
| // CHECK: @"OBJC_METACLASS_$_NSURLQueryItem" = extern_weak global
 | |
| // CHECK: @"OBJC_CLASS_$_NSURLQueryItem" = extern_weak global
 | |
| 
 | |
| // rdar://17633301
 | |
| __attribute__((visibility("default"))) __attribute__((availability(ios,introduced=9876.5)))
 | |
| @interface AVScheduledAudioParameters @end
 | |
| 
 | |
| @interface XXXX : AVScheduledAudioParameters
 | |
| @end
 | |
| 
 | |
| @implementation AVScheduledAudioParameters @end
 | |
| @implementation XXXX @end
 | |
| 
 | |
| // CHECK: @"OBJC_CLASS_$_AVScheduledAudioParameters" = global %struct._class_t
 | |
| // CHECK: @"OBJC_METACLASS_$_AVScheduledAudioParameters" = global %struct._class_t 
 |