[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / ARCMT / checking-in-arc.m
blob1bf6aca18a34285ea55df1feac8c52be83e9b523
1 // RUN: %clang_cc1 -arcmt-action=check -fobjc-arc -fobjc-runtime=macosx-10.8.0 -triple x86_64-apple-darwin12 -fblocks -Werror %s
3 #if __has_feature(objc_arc)
4 #define NS_AUTOMATED_REFCOUNT_UNAVAILABLE __attribute__((unavailable("not available in automatic reference counting mode")))
5 #else
6 #define NS_AUTOMATED_REFCOUNT_UNAVAILABLE
7 #endif
9 typedef const void * CFTypeRef;
10 CFTypeRef CFBridgingRetain(id X);
11 id CFBridgingRelease(CFTypeRef);
13 typedef int BOOL;
14 typedef unsigned NSUInteger;
16 @protocol NSObject
17 - (id)retain NS_AUTOMATED_REFCOUNT_UNAVAILABLE;
18 - (NSUInteger)retainCount NS_AUTOMATED_REFCOUNT_UNAVAILABLE;
19 - (oneway void)release NS_AUTOMATED_REFCOUNT_UNAVAILABLE;
20 - (id)autorelease NS_AUTOMATED_REFCOUNT_UNAVAILABLE;
21 @end
23 @interface NSObject <NSObject> {}
24 - (id)init;
26 + (id)new;
27 + (id)alloc;
28 - (void)dealloc;
30 - (void)finalize;
32 - (id)copy;
33 - (id)mutableCopy;
34 @end
36 typedef const struct __CFString * CFStringRef;
37 extern const CFStringRef kUTTypePlainText;
38 extern const CFStringRef kUTTypeRTF;
39 @class NSString;
41 @interface Test : NSObject
42 @property (weak) NSString *weakProperty;
43 @end
45 @implementation Test
46 @end
48 #if ! __has_feature(objc_arc)
49 #error This file must be compiled with ARC (set -fobjc_arc flag on file)
50 #endif