forked from boostorg/integer
Extracted intptr_t and uintptr_t types to cstdint.hpp. Refs #7823.
[SVN r84805]
This commit is contained in:
@ -358,6 +358,40 @@ namespace boost
|
|||||||
|
|
||||||
#endif // BOOST_HAS_STDINT_H
|
#endif // BOOST_HAS_STDINT_H
|
||||||
|
|
||||||
|
// intptr_t/uintptr_t are defined separately because they are optional and not universally available
|
||||||
|
#if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H)
|
||||||
|
// Older MSVC don't have stdint.h and have intptr_t/uintptr_t defined in stddef.h
|
||||||
|
#include <stddef.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// PGI seems to not support intptr_t/uintptr_t properly. BOOST_HAS_STDINT_H is not defined for this compiler by Boost.Config.
|
||||||
|
#if !defined(__PGIC__)
|
||||||
|
|
||||||
|
#if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \
|
||||||
|
|| (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \
|
||||||
|
|| defined(__CYGWIN__) \
|
||||||
|
|| defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \
|
||||||
|
|| defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
|
||||||
|
|
||||||
|
namespace boost {
|
||||||
|
using ::intptr_t;
|
||||||
|
using ::uintptr_t;
|
||||||
|
}
|
||||||
|
#define BOOST_HAS_INTPTR_T
|
||||||
|
|
||||||
|
// Clang pretends to be GCC, so it'll match this condition
|
||||||
|
#elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__)
|
||||||
|
|
||||||
|
namespace boost {
|
||||||
|
typedef __INTPTR_TYPE__ intptr_t;
|
||||||
|
typedef __UINTPTR_TYPE__ uintptr_t;
|
||||||
|
}
|
||||||
|
#define BOOST_HAS_INTPTR_T
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // !defined(__PGIC__)
|
||||||
|
|
||||||
#endif // BOOST_CSTDINT_HPP
|
#endif // BOOST_CSTDINT_HPP
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user