@@ -170,16 +170,18 @@ { if (value == 0) { static of_once_t once = OF_ONCE_INIT; of_once(&once, charZeroNumberInit); return (id)charZeroNumber; +#ifdef OF_OBJFW_RUNTIME } else if ((unsigned char)value <= (UINTPTR_MAX >> TAG_BITS)) { id ret = objc_createTaggedPointer(numberTag, ((uintptr_t)(unsigned char)value << TAG_BITS) | TAG_CHAR); if (ret != nil) return ret; +#endif } return (id)[[OFNumber of_alloc] initWithChar: value]; } @@ -187,16 +189,18 @@ { if (value == 0) { static of_once_t once = OF_ONCE_INIT; of_once(&once, shortZeroNumberInit); return (id)shortZeroNumber; +#ifdef OF_OBJFW_RUNTIME } else if ((unsigned short)value <= (UINTPTR_MAX >> TAG_BITS)) { id ret = objc_createTaggedPointer(numberTag, ((uintptr_t)(unsigned short)value << TAG_BITS) | TAG_SHORT); if (ret != nil) return ret; +#endif } return (id)[[OFNumber of_alloc] initWithShort: value]; } @@ -204,16 +208,18 @@ { if (value == 0) { static of_once_t once = OF_ONCE_INIT; of_once(&once, intZeroNumberInit); return (id)intZeroNumber; +#ifdef OF_OBJFW_RUNTIME } else if ((unsigned int)value <= (UINTPTR_MAX >> TAG_BITS)) { id ret = objc_createTaggedPointer(numberTag, ((uintptr_t)(unsigned int)value << TAG_BITS) | TAG_INT); if (ret != nil) return ret; +#endif } return (id)[[OFNumber of_alloc] initWithInt: value]; } @@ -221,16 +227,18 @@ { if (value == 0) { static of_once_t once = OF_ONCE_INIT; of_once(&once, longZeroNumberInit); return (id)longZeroNumber; +#ifdef OF_OBJFW_RUNTIME } else if ((unsigned long)value <= (UINTPTR_MAX >> TAG_BITS)) { id ret = objc_createTaggedPointer(numberTag, ((uintptr_t)(unsigned long)value << TAG_BITS) | TAG_LONG); if (ret != nil) return ret; +#endif } return (id)[[OFNumber of_alloc] initWithLong: value]; } @@ -238,17 +246,19 @@ { if (value == 0) { static of_once_t once = OF_ONCE_INIT; of_once(&once, longLongZeroNumberInit); return (id)longLongZeroNumber; +#ifdef OF_OBJFW_RUNTIME } else if ((unsigned long long)value <= (UINTPTR_MAX >> TAG_BITS)) { id ret = objc_createTaggedPointer(numberTag, ((uintptr_t)(unsigned long long)value << TAG_BITS) | TAG_LONG_LONG); if (ret != nil) return ret; +#endif } return (id)[[OFNumber of_alloc] initWithLongLong: value]; } @@ -256,16 +266,18 @@ { if (value == 0) { static of_once_t once = OF_ONCE_INIT; of_once(&once, unsignedCharZeroNumberInit); return (id)unsignedCharZeroNumber; +#ifdef OF_OBJFW_RUNTIME } else if (value <= (UINTPTR_MAX >> TAG_BITS)) { id ret = objc_createTaggedPointer(numberTag, ((uintptr_t)value << TAG_BITS) | TAG_UNSIGNED_CHAR); if (ret != nil) return ret; +#endif } return (id)[[OFNumber of_alloc] initWithUnsignedChar: value]; } @@ -273,16 +285,18 @@ { if (value == 0) { static of_once_t once = OF_ONCE_INIT; of_once(&once, unsignedShortZeroNumberInit); return (id)unsignedShortZeroNumber; +#ifdef OF_OBJFW_RUNTIME } else if (value <= (UINTPTR_MAX >> TAG_BITS)) { id ret = objc_createTaggedPointer(numberTag, ((uintptr_t)value << TAG_BITS) | TAG_UNSIGNED_SHORT); if (ret != nil) return ret; +#endif } return (id)[[OFNumber of_alloc] initWithUnsignedShort: value]; } @@ -290,16 +304,18 @@ { if (value == 0) { static of_once_t once = OF_ONCE_INIT; of_once(&once, unsignedIntZeroNumberInit); return (id)unsignedIntZeroNumber; +#ifdef OF_OBJFW_RUNTIME } else if (value <= (UINTPTR_MAX >> TAG_BITS)) { id ret = objc_createTaggedPointer(numberTag, ((uintptr_t)value << TAG_BITS) | TAG_UNSIGNED_INT); if (ret != nil) return ret; +#endif } return (id)[[OFNumber of_alloc] initWithUnsignedInt: value]; } @@ -307,16 +323,18 @@ { if (value == 0) { static of_once_t once = OF_ONCE_INIT; of_once(&once, unsignedLongZeroNumberInit); return (id)unsignedLongZeroNumber; +#ifdef OF_OBJFW_RUNTIME } else if (value <= (UINTPTR_MAX >> TAG_BITS)) { id ret = objc_createTaggedPointer(numberTag, ((uintptr_t)value << TAG_BITS) | TAG_UNSIGNED_LONG); if (ret != nil) return ret; +#endif } return (id)[[OFNumber of_alloc] initWithUnsignedLong: value]; } @@ -324,16 +342,18 @@ { if (value == 0) { static of_once_t once = OF_ONCE_INIT; of_once(&once, unsignedLongLongZeroNumberInit); return (id)unsignedLongLongZeroNumber; +#ifdef OF_OBJFW_RUNTIME } else if (value <= (UINTPTR_MAX >> TAG_BITS)) { id ret = objc_createTaggedPointer(numberTag, ((uintptr_t)value << TAG_BITS) | TAG_UNSIGNED_LONG_LONG); if (ret != nil) return ret; +#endif } return (id)[[OFNumber of_alloc] initWithUnsignedLongLong: value]; }