3 // DO NOT include anything else here
5 // DO NOT include anything else here
12 #if !__has_feature(objc_arc)
15 id __unsafe_unretained u
;
18 void fn(void) __unused
;
20 id __autoreleasing a __unused
;
23 #if __llvm__ && !__clang__
24 // llvm-gcc defines _NSConcreteGlobalBlock wrong
26 // rdar://10118972 wrong type inference for blocks returning YES and NO
27 BOOL (^block1
)(void) = ^{ return YES
; };
28 BOOL (^block2
)(void) = ^{ return NO
; };
38 testwarn("rdar://12371870 -Wnull-conversion");
39 testassert(!(bool)nil
);
40 testassert(!(bool)Nil
);
46 #if __has_feature(objc_bool)
47 // YES[array] is disallowed for objc just as true[array] is for C++
49 // this will fail if YES and NO do not have enough parentheses
50 int array
[2] = { 888, 999 };
51 testassert(NO
[array
] == 888);
52 testassert(YES
[array
] == 999);