提交 8f4c1230 编写于 作者: T Tor Andersson 提交者: Ebrahim Byagowi

Reinstate support for Visual Studio 2005

上级 632713ba
...@@ -49,6 +49,16 @@ ...@@ -49,6 +49,16 @@
# include <inttypes.h> # include <inttypes.h>
#elif defined (_AIX) #elif defined (_AIX)
# include <sys/inttypes.h> # include <sys/inttypes.h>
#elif defined (_MSC_VER) && _MSC_VER < 1600
/* VS 2010 (_MSC_VER 1600) has stdint.h */
typedef __int8 int8_t;
typedef unsigned __int8 uint8_t;
typedef __int16 int16_t;
typedef unsigned __int16 uint16_t;
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
#else #else
# include <stdint.h> # include <stdint.h>
#endif #endif
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdarg.h> #include <stdarg.h>
#if defined(_MSC_VER) || defined(__MINGW32__) #if (defined(_MSC_VER) && _MSC_VER >= 1500) || defined(__MINGW32__)
#include <intrin.h> #include <intrin.h>
#endif #endif
...@@ -381,7 +381,7 @@ _hb_bit_storage (T v) ...@@ -381,7 +381,7 @@ _hb_bit_storage (T v)
return sizeof (unsigned long long) * 8 - __builtin_clzll (v); return sizeof (unsigned long long) * 8 - __builtin_clzll (v);
#endif #endif
#if defined(_MSC_VER) || defined(__MINGW32__) #if (defined(_MSC_VER) && _MSC_VER >= 1500) || defined(__MINGW32__)
if (sizeof (T) <= sizeof (unsigned int)) if (sizeof (T) <= sizeof (unsigned int))
{ {
unsigned long where; unsigned long where;
...@@ -454,7 +454,7 @@ _hb_ctz (T v) ...@@ -454,7 +454,7 @@ _hb_ctz (T v)
return __builtin_ctzll (v); return __builtin_ctzll (v);
#endif #endif
#if defined(_MSC_VER) || defined(__MINGW32__) #if (defined(_MSC_VER) && _MSC_VER >= 1500) || defined(__MINGW32__)
if (sizeof (T) <= sizeof (unsigned int)) if (sizeof (T) <= sizeof (unsigned int))
{ {
unsigned long where; unsigned long where;
......
...@@ -42,6 +42,16 @@ HB_BEGIN_HEADER ...@@ -42,6 +42,16 @@ HB_BEGIN_HEADER
# include <inttypes.h> # include <inttypes.h>
#elif defined (_AIX) #elif defined (_AIX)
# include <sys/inttypes.h> # include <sys/inttypes.h>
#elif defined (_MSC_VER) && _MSC_VER < 1600
/* VS 2010 (_MSC_VER 1600) has stdint.h */
typedef __int8 int8_t;
typedef unsigned __int8 uint8_t;
typedef __int16 int16_t;
typedef unsigned __int16 uint16_t;
typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
#else #else
# include <stdint.h> # include <stdint.h>
#endif #endif
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册