xref: /aosp_15_r20/external/clang/test/ARCMT/checking-in-arc.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
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