]> git.saurik.com Git - apple/objc4.git/blame - test/bool.c
objc4-818.2.tar.gz
[apple/objc4.git] / test / bool.c
CommitLineData
13ba007e
A
1// TEST_CFLAGS -funsigned-char
2// (verify -funsigned-char doesn't change the definition of BOOL)
3
4#include "test.h"
5#include <objc/objc.h>
6
7#if TARGET_OS_OSX
34d5b5e8
A
8# if __x86_64__
9# define RealBool 0
10# else
11# define RealBool 1
12# endif
1807f628 13#elif TARGET_OS_IOS || TARGET_OS_BRIDGE
13ba007e
A
14# if (__arm__ && !__armv7k__) || __i386__
15# define RealBool 0
16# else
17# define RealBool 1
18# endif
19#else
20# define RealBool 1
21#endif
22
23#if __OBJC__ && !defined(__OBJC_BOOL_IS_BOOL)
24# error no __OBJC_BOOL_IS_BOOL
25#endif
26
27#if RealBool != OBJC_BOOL_IS_BOOL
28# error wrong OBJC_BOOL_IS_BOOL
29#endif
30
31#if RealBool == OBJC_BOOL_IS_CHAR
32# error wrong OBJC_BOOL_IS_CHAR
33#endif
34
35int main()
36{
37 const char *expected __unused =
38#if RealBool
39 "B"
40#else
41 "c"
42#endif
43 ;
44#if __OBJC__
45 const char *enc = @encode(BOOL);
46 testassert(0 == strcmp(enc, expected));
47#endif
48 succeed(__FILE__);
49}