Better ObjC++ support in runtime.h

main
theraven 15 years ago
parent 99761c2877
commit f133fa7eb8

@ -23,7 +23,7 @@ extern "C" {
// Make sure we get the limit macros, even in C++ mode
#ifndef __STDC_LIMIT_MACROS
# define __STDC_LIMIT_MACROS
# define __STDC_LIMIT_MACROS 1
#endif
#include <stdint.h>
@ -756,7 +756,9 @@ BOOL objc_registerSmallObjectClass_np(Class cls, uintptr_t classId);
* systems, we use the low 3 bits. In both cases, the lowest bit must be 1.
* This restriction may be relaxed in the future on 64-bit systems.
*/
#if UINTPTR_MAX < UINT64_MAX
#ifndef UINTPTR_MAX
# define OBJC_SMALL_OBJECT_MASK ((sizeof(void*) == 4) ? 1 : 7)
#elif UINTPTR_MAX < UINT64_MAX
# define OBJC_SMALL_OBJECT_MASK 1
#else
# define OBJC_SMALL_OBJECT_MASK 7
@ -764,7 +766,9 @@ BOOL objc_registerSmallObjectClass_np(Class cls, uintptr_t classId);
/**
* The number of bits reserved for the class identifier in a small object.
*/
#if UINTPTR_MAX < UINT64_MAX
#ifndef UINTPTR_MAX
# define OBJC_SMALL_OBJECT_SHIFT ((sizeof(void*) == 4) ? 1 : 3)
#elif UINTPTR_MAX < UINT64_MAX
# define OBJC_SMALL_OBJECT_SHIFT 1
#else
# define OBJC_SMALL_OBJECT_SHIFT 3

Loading…
Cancel
Save