1*67e74705SXin Li// RUN: %clang_cc1 -arcmt-check -fobjc-arc -fobjc-runtime=macosx-10.8.0 -triple x86_64-apple-darwin12 -fblocks -Werror %s 2*67e74705SXin Li 3*67e74705SXin Li#if __has_feature(objc_arc) 4*67e74705SXin Li#define NS_AUTOMATED_REFCOUNT_UNAVAILABLE __attribute__((unavailable("not available in automatic reference counting mode"))) 5*67e74705SXin Li#else 6*67e74705SXin Li#define NS_AUTOMATED_REFCOUNT_UNAVAILABLE 7*67e74705SXin Li#endif 8*67e74705SXin Li 9*67e74705SXin Litypedef const void * CFTypeRef; 10*67e74705SXin LiCFTypeRef CFBridgingRetain(id X); 11*67e74705SXin Liid CFBridgingRelease(CFTypeRef); 12*67e74705SXin Li 13*67e74705SXin Litypedef int BOOL; 14*67e74705SXin Litypedef unsigned NSUInteger; 15*67e74705SXin Li 16*67e74705SXin Li@protocol NSObject 17*67e74705SXin Li- (id)retain NS_AUTOMATED_REFCOUNT_UNAVAILABLE; 18*67e74705SXin Li- (NSUInteger)retainCount NS_AUTOMATED_REFCOUNT_UNAVAILABLE; 19*67e74705SXin Li- (oneway void)release NS_AUTOMATED_REFCOUNT_UNAVAILABLE; 20*67e74705SXin Li- (id)autorelease NS_AUTOMATED_REFCOUNT_UNAVAILABLE; 21*67e74705SXin Li@end 22*67e74705SXin Li 23*67e74705SXin Li@interface NSObject <NSObject> {} 24*67e74705SXin Li- (id)init; 25*67e74705SXin Li 26*67e74705SXin Li+ (id)new; 27*67e74705SXin Li+ (id)alloc; 28*67e74705SXin Li- (void)dealloc; 29*67e74705SXin Li 30*67e74705SXin Li- (void)finalize; 31*67e74705SXin Li 32*67e74705SXin Li- (id)copy; 33*67e74705SXin Li- (id)mutableCopy; 34*67e74705SXin Li@end 35*67e74705SXin Li 36*67e74705SXin Litypedef const struct __CFString * CFStringRef; 37*67e74705SXin Liextern const CFStringRef kUTTypePlainText; 38*67e74705SXin Liextern const CFStringRef kUTTypeRTF; 39*67e74705SXin Li@class NSString; 40*67e74705SXin Li 41*67e74705SXin Li@interface Test : NSObject 42*67e74705SXin Li@property (weak) NSString *weakProperty; 43*67e74705SXin Li@end 44*67e74705SXin Li 45*67e74705SXin Li@implementation Test 46*67e74705SXin Li@end 47*67e74705SXin Li 48*67e74705SXin Li#if ! __has_feature(objc_arc) 49*67e74705SXin Li#error This file must be compiled with ARC (set -fobjc_arc flag on file) 50*67e74705SXin Li#endif 51