diff --git a/Source/Additions/GSObjCRuntime.m b/Source/Additions/GSObjCRuntime.m index 6c716541e..0bddb8b0b 100644 --- a/Source/Additions/GSObjCRuntime.m +++ b/Source/Additions/GSObjCRuntime.m @@ -1090,7 +1090,7 @@ GSObjCGetVal(NSObject *self, const char *key, SEL sel, } break; -#if __GNUC__ != 2 && defined(_C_BOOL) +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: { _Bool v; @@ -1555,7 +1555,7 @@ GSObjCSetVal(NSObject *self, const char *key, id val, SEL sel, } break; -#if __GNUC__ != 2 && defined(_C_BOOL) +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: { _Bool v = (_Bool)[val boolValue]; diff --git a/Source/GSFFCallInvocation.m b/Source/GSFFCallInvocation.m index b29d5e057..eacd7610c 100644 --- a/Source/GSFFCallInvocation.m +++ b/Source/GSFFCallInvocation.m @@ -425,7 +425,7 @@ gs_sel_type_to_callback_type (const char *sel_type, case _C_DBL: vatype->type = __VAdouble; break; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: vatype->type = __VAuchar; break; @@ -614,7 +614,7 @@ GSFFCallInvokeWithTargetAndImp(NSInvocation *_inv, id anObject, IMP imp) CASE_TYPE(_C_ULNG_LNG, unsigned long long, av_start_ulonglong) CASE_TYPE(_C_FLT, float, av_start_float) CASE_TYPE(_C_DBL, double, av_start_double) -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) CASE_TYPE(_C_BOOL, _Bool, av_start_uchar) #endif @@ -719,7 +719,7 @@ GSFFCallInvokeWithTargetAndImp(NSInvocation *_inv, id anObject, IMP imp) CASE_TYPE(_C_ULNG_LNG, unsigned long long, av_ulonglong) CASE_TYPE(_C_FLT, float, av_float) CASE_TYPE(_C_DBL, double, av_double) -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) CASE_TYPE(_C_BOOL, _Bool, av_uchar) #endif @@ -1057,7 +1057,7 @@ GSInvocationCallback (void *callback_data, va_alist args) CASE_TYPE(_C_ULNG_LNG, unsigned long long, va_arg_ulonglong) CASE_TYPE(_C_FLT, float, va_arg_float) CASE_TYPE(_C_DBL, double, va_arg_double) -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) CASE_TYPE(_C_BOOL, _Bool, va_arg_uchar) #endif @@ -1120,7 +1120,7 @@ GSInvocationCallback (void *callback_data, va_alist args) CASE_TYPE(_C_ULNG_LNG, unsigned long long, va_return_ulonglong) CASE_TYPE(_C_FLT, float, va_return_float) CASE_TYPE(_C_DBL, double, va_return_double) -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) CASE_TYPE(_C_BOOL, _Bool, va_return_uchar) #endif diff --git a/Source/GSValue.m b/Source/GSValue.m index a70b8d436..d7798c61b 100644 --- a/Source/GSValue.m +++ b/Source/GSValue.m @@ -61,7 +61,7 @@ typeSize(const char* type) case _C_ULNG_LNG: return sizeof(unsigned long long); case _C_FLT: return sizeof(float); case _C_DBL: return sizeof(double); -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: return sizeof(_Bool); #endif case _C_PTR: return sizeof(void*); diff --git a/Source/NSArchiver.m b/Source/NSArchiver.m index b1f052499..38e779422 100644 --- a/Source/NSArchiver.m +++ b/Source/NSArchiver.m @@ -310,7 +310,7 @@ static Class NSMutableDataMallocClass; case _C_ULNG_LNG: info = _GSC_ULNG_LNG | _GSC_S_LNG_LNG; break; case _C_FLT: info = _GSC_FLT; break; case _C_DBL: info = _GSC_DBL; break; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: info = _GSC_BOOL; break; #endif default: info = _GSC_NONE; break; @@ -684,7 +684,7 @@ static Class NSMutableDataMallocClass; (*_serImp)(_dst, serSel, (void*)buf, @encode(double), nil); return; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: (*_tagImp)(_dst, tagSel, _GSC_BOOL); (*_serImp)(_dst, serSel, (void*)buf, @encode(_Bool), nil); diff --git a/Source/NSData.m b/Source/NSData.m index b10195d11..2226aced6 100644 --- a/Source/NSData.m +++ b/Source/NSData.m @@ -1385,7 +1385,7 @@ failure: *(double*)data = NSSwapBigDoubleToHost(nd); return; } -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: { [self deserializeBytes: data @@ -2672,7 +2672,7 @@ failure: [self appendBytes: &nd length: sizeof(NSSwappedDouble)]; return; } -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: [self appendBytes: data length: sizeof(_Bool)]; return; @@ -3159,7 +3159,7 @@ getBytes(void* dst, void* src, unsigned len, unsigned limit, unsigned *pos) *(double*)data = NSSwapBigDoubleToHost(nd); return; } -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: { getBytes(data, bytes, sizeof(_Bool), length, cursor); @@ -4000,7 +4000,7 @@ getBytes(void* dst, void* src, unsigned len, unsigned limit, unsigned *pos) (*appendImp)(self, appendSel, &nd, sizeof(NSSwappedDouble)); return; } -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: (*appendImp)(self, appendSel, data, sizeof(_Bool)); return; diff --git a/Source/NSDecimalNumber.m b/Source/NSDecimalNumber.m index 47ededb2a..8095e084c 100644 --- a/Source/NSDecimalNumber.m +++ b/Source/NSDecimalNumber.m @@ -324,7 +324,7 @@ static NSDecimalNumber *one; llval = (long long)v; break; } -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: { llval = (long long)((*(unsigned char *)value == 0) ? 0 : 1); diff --git a/Source/NSKeyValueObserving.m b/Source/NSKeyValueObserving.m index 1eb02de76..fd407e2f6 100644 --- a/Source/NSKeyValueObserving.m +++ b/Source/NSKeyValueObserving.m @@ -573,7 +573,7 @@ cifframe_callback(ffi_cif *cif, void *retp, void **args, void *user) imp = [[GSKVOSetter class] instanceMethodForSelector: @selector(setterDouble:)]; break; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: imp = [[GSKVOSetter class] instanceMethodForSelector: @selector(setterChar:)]; diff --git a/Source/NSKeyedArchiver.m b/Source/NSKeyedArchiver.m index 2216c478e..9a30f9e6c 100644 --- a/Source/NSKeyedArchiver.m +++ b/Source/NSKeyedArchiver.m @@ -792,7 +792,7 @@ static NSDictionary *makeReference(unsigned ref) [_enc setObject: o forKey: aKey]; return; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: o = [NSNumber numberWithInt: (NSInteger)*(_Bool*)address]; [_enc setObject: o forKey: aKey]; diff --git a/Source/NSKeyedUnarchiver.m b/Source/NSKeyedUnarchiver.m index d1dd8b3df..24f98712c 100644 --- a/Source/NSKeyedUnarchiver.m +++ b/Source/NSKeyedUnarchiver.m @@ -748,7 +748,7 @@ static NSMapTable *globalClassMap = 0; *(double*)address = [o doubleValue]; return; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: *(_Bool*)address = (_Bool)[o unsignedCharValue]; return; diff --git a/Source/NSMethodSignature.m b/Source/NSMethodSignature.m index de7a71543..917fbf106 100644 --- a/Source/NSMethodSignature.m +++ b/Source/NSMethodSignature.m @@ -332,7 +332,7 @@ next_arg(const char *typePtr, NSArgumentInfo *info, char *outTypes) info->align = __alignof__(char*); break; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: info->size = sizeof(_Bool); info->align = __alignof__(_Bool); diff --git a/Source/NSNumberFormatter.m b/Source/NSNumberFormatter.m index 2b5d1716f..85699d65e 100644 --- a/Source/NSNumberFormatter.m +++ b/Source/NSNumberFormatter.m @@ -1100,7 +1100,7 @@ static NSUInteger _defaultBehavior = NSNumberFormatterBehavior10_4; * don't think it matters, because we don't bother with anything * smaller than int for NSNumbers */ -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: STRING_FROM_NUMBER(unum_format, (int)[anObject boolValue]); break; diff --git a/Source/NSPortCoder.m b/Source/NSPortCoder.m index b3cc44d48..0a99aadd4 100644 --- a/Source/NSPortCoder.m +++ b/Source/NSPortCoder.m @@ -129,7 +129,7 @@ typeToName1(char type) case _C_CHARPTR: return "cstring"; case _C_ARY_B: return "array"; case _C_STRUCT_B: return "struct"; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: return "_Bool"; #endif default: @@ -222,7 +222,7 @@ static char type_map[32] = { #endif _C_FLT, _C_DBL, -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) _C_BOOL, #else 0, @@ -523,7 +523,7 @@ static unsigned encodingVersion; #endif case _C_FLT: info = _GSC_FLT; break; case _C_DBL: info = _GSC_DBL; break; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: info = _GSC_BOOL; break; #endif default: info = _GSC_NONE; break; @@ -1222,7 +1222,7 @@ static unsigned encodingVersion; case _C_ULNG_LNG: info = _GSC_ULNG_LNG | _GSC_S_LNG_LNG; break; case _C_FLT: info = _GSC_FLT; break; case _C_DBL: info = _GSC_DBL; break; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: info = _GSC_BOOL; break; #endif default: info = _GSC_NONE; break; @@ -1823,7 +1823,7 @@ static unsigned encodingVersion; (*_eSerImp)(_dst, eSerSel, (void*)buf, @encode(double), nil); return; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: (*_eTagImp)(_dst, eTagSel, _GSC_BOOL); (*_eSerImp)(_dst, eSerSel, (void*)buf, @encode(_Bool), nil); diff --git a/Source/NSUnarchiver.m b/Source/NSUnarchiver.m index b790d525a..aba9a8070 100644 --- a/Source/NSUnarchiver.m +++ b/Source/NSUnarchiver.m @@ -78,7 +78,7 @@ typeToName1(char type) case _C_ULNG_LNG: return "unsigned long long"; case _C_FLT: return "float"; case _C_DBL: return "double"; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: return "_Bool"; #endif case _C_PTR: return "pointer"; @@ -170,7 +170,7 @@ static char type_map[32] = { _C_ULNG_LNG, _C_FLT, _C_DBL, -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) _C_BOOL, #else 0, @@ -616,7 +616,7 @@ static unsigned encodingVersion; case _C_ULNG_LNG: info = _GSC_ULNG_LNG; break; case _C_FLT: info = _GSC_FLT; break; case _C_DBL: info = _GSC_DBL; break; -#ifdef _C_BOOL +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: info = _GSC_BOOL; break; #endif default: info = _GSC_NONE; break; diff --git a/Source/cifframe.m b/Source/cifframe.m index c4d37695e..7018fa75a 100644 --- a/Source/cifframe.m +++ b/Source/cifframe.m @@ -540,7 +540,7 @@ cifframe_type(const char *typePtr, const char **advance) case _C_VOID: ftype = &ffi_type_void; break; -#if __GNUC__ != 2 && defined(_C_BOOL) +#if __GNUC__ > 2 && defined(_C_BOOL) case _C_BOOL: ftype = &ffi_type_uchar; break; #endif