diff --git a/Source/Additions/GSObjCRuntime.m b/Source/Additions/GSObjCRuntime.m index fc3f63c7d..6c716541e 100644 --- a/Source/Additions/GSObjCRuntime.m +++ b/Source/Additions/GSObjCRuntime.m @@ -1090,8 +1090,7 @@ GSObjCGetVal(NSObject *self, const char *key, SEL sel, } break; -#if __GNUC__ != 2 -#ifdef _C_BOOL +#if __GNUC__ != 2 && defined(_C_BOOL) case _C_BOOL: { _Bool v; @@ -1110,7 +1109,6 @@ GSObjCGetVal(NSObject *self, const char *key, SEL sel, val = [NSNumber numberWithBool: (BOOL)v]; } break; -#endif #endif case _C_SHT: @@ -1557,8 +1555,7 @@ GSObjCSetVal(NSObject *self, const char *key, id val, SEL sel, } break; -#if __GNUC__ != 2 -#ifdef _C_BOOL +#if __GNUC__ != 2 && defined(_C_BOOL) case _C_BOOL: { _Bool v = (_Bool)[val boolValue]; @@ -1578,7 +1575,6 @@ GSObjCSetVal(NSObject *self, const char *key, id val, SEL sel, } } break; -#endif #endif case _C_SHT: diff --git a/Source/GSFFCallInvocation.m b/Source/GSFFCallInvocation.m index 7dc3303e7..b29d5e057 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; -#if __GNUC__ != 2 +#ifdef _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) -#if __GNUC__ != 2 +#ifdef _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) -#if __GNUC__ != 2 +#ifdef _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) -#if __GNUC__ != 2 +#ifdef _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) -#if __GNUC__ != 2 +#ifdef _C_BOOL CASE_TYPE(_C_BOOL, _Bool, va_return_uchar) #endif diff --git a/Source/GSValue.m b/Source/GSValue.m index 7777d76f5..a70b8d436 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); -#if __GNUC__ != 2 +#ifdef _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 013c9a269..b1f052499 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; -#if __GNUC__ != 2 +#ifdef _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; -#if __GNUC__ != 2 +#ifdef _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 393b08c43..b10195d11 100644 --- a/Source/NSData.m +++ b/Source/NSData.m @@ -1385,7 +1385,7 @@ failure: *(double*)data = NSSwapBigDoubleToHost(nd); return; } -#if __GNUC__ != 2 +#ifdef _C_BOOL case _C_BOOL: { [self deserializeBytes: data @@ -2672,7 +2672,7 @@ failure: [self appendBytes: &nd length: sizeof(NSSwappedDouble)]; return; } -#if __GNUC__ != 2 +#ifdef _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; } -#if __GNUC__ != 2 +#ifdef _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; } -#if __GNUC__ != 2 +#ifdef _C_BOOL case _C_BOOL: (*appendImp)(self, appendSel, data, sizeof(_Bool)); return; diff --git a/Source/NSDecimalNumber.m b/Source/NSDecimalNumber.m index 178e83c03..47ededb2a 100644 --- a/Source/NSDecimalNumber.m +++ b/Source/NSDecimalNumber.m @@ -324,7 +324,7 @@ static NSDecimalNumber *one; llval = (long long)v; break; } -#if __GNUC__ != 2 +#ifdef _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 1d10a2ef6..1eb02de76 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; -#if __GNUC__ != 2 +#ifdef _C_BOOL case _C_BOOL: imp = [[GSKVOSetter class] instanceMethodForSelector: @selector(setterChar:)]; diff --git a/Source/NSKeyedArchiver.m b/Source/NSKeyedArchiver.m index 2b6754190..2216c478e 100644 --- a/Source/NSKeyedArchiver.m +++ b/Source/NSKeyedArchiver.m @@ -792,7 +792,7 @@ static NSDictionary *makeReference(unsigned ref) [_enc setObject: o forKey: aKey]; return; -#if __GNUC__ != 2 +#ifdef _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 4192225bb..d1dd8b3df 100644 --- a/Source/NSKeyedUnarchiver.m +++ b/Source/NSKeyedUnarchiver.m @@ -748,7 +748,7 @@ static NSMapTable *globalClassMap = 0; *(double*)address = [o doubleValue]; return; -#if __GNUC__ != 2 +#ifdef _C_BOOL case _C_BOOL: *(_Bool*)address = (_Bool)[o unsignedCharValue]; return; diff --git a/Source/NSMethodSignature.m b/Source/NSMethodSignature.m index 93ba7e0bf..de7a71543 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; -#if __GNUC__ != 2 +#ifdef _C_BOOL case _C_BOOL: info->size = sizeof(_Bool); info->align = __alignof__(_Bool); diff --git a/Source/NSNumberFormatter.m b/Source/NSNumberFormatter.m index 7495ea1d1..2b5d1716f 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 */ -#if defined(_C_BOOL) +#ifdef _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 5a9684311..b3cc44d48 100644 --- a/Source/NSPortCoder.m +++ b/Source/NSPortCoder.m @@ -129,7 +129,9 @@ typeToName1(char type) case _C_CHARPTR: return "cstring"; case _C_ARY_B: return "array"; case _C_STRUCT_B: return "struct"; +#ifdef _C_BOOL case _C_BOOL: return "_Bool"; +#endif default: { static char buf1[32]; @@ -220,7 +222,11 @@ static char type_map[32] = { #endif _C_FLT, _C_DBL, +#ifdef _C_BOOL _C_BOOL, +#else + 0, +#endif 0, 0, _C_ID, @@ -517,7 +523,9 @@ static unsigned encodingVersion; #endif case _C_FLT: info = _GSC_FLT; break; case _C_DBL: info = _GSC_DBL; break; +#ifdef _C_BOOL case _C_BOOL: info = _GSC_BOOL; break; +#endif default: info = _GSC_NONE; break; } @@ -1214,7 +1222,9 @@ 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 case _C_BOOL: info = _GSC_BOOL; break; +#endif default: info = _GSC_NONE; break; } @@ -1813,7 +1823,7 @@ static unsigned encodingVersion; (*_eSerImp)(_dst, eSerSel, (void*)buf, @encode(double), nil); return; -#if __GNUC__ != 2 +#ifdef _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 e62b5adfc..b790d525a 100644 --- a/Source/NSUnarchiver.m +++ b/Source/NSUnarchiver.m @@ -78,7 +78,9 @@ typeToName1(char type) case _C_ULNG_LNG: return "unsigned long long"; case _C_FLT: return "float"; case _C_DBL: return "double"; +#ifdef _C_BOOL case _C_BOOL: return "_Bool"; +#endif case _C_PTR: return "pointer"; case _C_CHARPTR: return "cstring"; case _C_ARY_B: return "array"; @@ -168,7 +170,11 @@ static char type_map[32] = { _C_ULNG_LNG, _C_FLT, _C_DBL, +#ifdef _C_BOOL _C_BOOL, +#else + 0, +#endif 0, 0, _C_ID, @@ -610,7 +616,9 @@ 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 case _C_BOOL: info = _GSC_BOOL; break; +#endif default: info = _GSC_NONE; break; } diff --git a/Source/cifframe.m b/Source/cifframe.m index ec38c2399..c4d37695e 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 +#if __GNUC__ != 2 && defined(_C_BOOL) case _C_BOOL: ftype = &ffi_type_uchar; break; #endif