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 5@interface NSObject 6- (void) finalize; 7+ (void) class; 8@end 9 10__attribute__((availability(macosx,introduced=9876.5))) 11@interface MyClass : NSObject 12+ (void)someClassMethod; 13- (void)someInstanceMethod; 14@end 15 16@implementation MyClass 17+ (void)someClassMethod { 18} 19 20- (void)someInstanceMethod { 21 [MyClass someClassMethod]; 22 [super finalize]; 23} 24@end 25 26void kit(void) 27{ 28 MyClass *wrapper = [MyClass alloc]; 29} 30 31// CHECK: @"OBJC_CLASS_$_MyClass" ={{.*}} global %struct._class_t 32// CHECK: @"OBJC_METACLASS_$_NSObject" = external global %struct._class_t 33// CHECK: @"OBJC_METACLASS_$_MyClass" ={{.*}} global %struct._class_t 34// CHECK: @"OBJC_CLASS_$_NSObject" = external global %struct._class_t 35 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 46 47__attribute__((visibility("default"))) __attribute__((availability(ios,introduced=9876.5))) 48@interface AVScheduledAudioParameters @end 49 50@interface XXXX : AVScheduledAudioParameters 51@end 52 53@implementation AVScheduledAudioParameters @end 54@implementation XXXX @end 55 56// CHECK: @"OBJC_CLASS_$_AVScheduledAudioParameters" ={{.*}} global %struct._class_t 57// CHECK: @"OBJC_METACLASS_$_AVScheduledAudioParameters" ={{.*}} global %struct._class_t 58