Integer typedefs for MSVC

LLVM’s typedefs for int32_t etc. under MSVC (in Support/DataTypes.h) conflict with those used by other third-party libraries. Instead of these:

#ifdef _MSC_VER

typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;

typedef signed int int32_t;
typedef unsigned int uint32_t;
typedef short int16_t;
typedef unsigned short uint16_t;
typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef signed int ssize_t;
#endif

it would be preferable to use these:

typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;

Does anyone feel strongly about this?

  • Mark Leone

That sounds fine to me,

-Chris