summaryrefslogtreecommitdiff
path: root/win32/php_stdint.h
diff options
context:
space:
mode:
authorStanley Sufficool <ssufficool@php.net>2014-10-20 21:33:32 -0700
committerStanley Sufficool <ssufficool@php.net>2014-10-20 21:33:32 -0700
commit8defcb855ab01d9c8ab4759cb793d80149b55a8c (patch)
treeed51eb30a2cbc92b102557498fb3e4113da1bb07 /win32/php_stdint.h
parent9c7dbb0487f5991fde03873ea8f5e66d6688415f (diff)
parentbaddb1c73a170ef1d2c31bd54cddbc6e1ab596b9 (diff)
downloadphp-git-8defcb855ab01d9c8ab4759cb793d80149b55a8c.tar.gz
Merge branch 'master' of https://git.php.net/push/php-src
* 'master' of https://git.php.net/push/php-src: (6215 commits) Extra comma Moved proxy object support in ASSIGN_ADD (and family) from VM to slow paths of corresponding operators Simplification zend_get_property_info_quick() cleanup and optimization initialize lineno before calling compile file file in phar Use ADDREF instead of DUP, it must be enough. Removed old irrelevant comment fixed compilation error Fix bug #68262: Broken reference across cloned objects export functions needed for phpdbg Fixed compilation Optimized property access handlers. Removed EG(std_property_info). Fixed bug #68199 (PDO::pgsqlGetNotify doesn't support NOTIFY payloads) Don't make difference between undefined and unaccessible properies when call __get() and family Don't make useless CSE array_pop/array_shift optimization check for zlib headers as well as lib for mysqlnd a realpath cache key can be int or float, catching this News entry for new curl constants News entry for new curl constants ...
Diffstat (limited to 'win32/php_stdint.h')
-rw-r--r--win32/php_stdint.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/win32/php_stdint.h b/win32/php_stdint.h
index 5df1df4777..71aec2a358 100644
--- a/win32/php_stdint.h
+++ b/win32/php_stdint.h
@@ -36,6 +36,10 @@
#ifndef _MSC_STDINT_H_ // [
#define _MSC_STDINT_H_
+#ifndef _STDINT
+# define _STDINT
+#endif
+
#if _MSC_VER > 1000
#pragma once
#endif
@@ -66,8 +70,12 @@
// 7.18.1 Integer types
// 7.18.1.1 Exact-width integer types
+#ifndef int8_t
typedef __int8 int8_t;
+#endif
+#ifndef int16_t
typedef __int16 int16_t;
+#endif
#ifndef int32_t
typedef __int32 int32_t;
#endif
@@ -108,13 +116,8 @@ typedef uint32_t u_int32_t;
typedef uint64_t uint_fast64_t;
// 7.18.1.4 Integer types capable of holding object pointers
-#ifdef _WIN64 // [
- typedef __int64 intptr_t;
- typedef unsigned __int64 uintptr_t;
-#else // _WIN64 ][
- typedef _W64 int intptr_t;
- typedef _W64 unsigned int uintptr_t;
-#endif // _WIN64 ]
+/* intptr_t and uintptr_t are available from stddef.h */
+#include <stddef.h>
// 7.18.1.5 Greatest-width integer types
typedef int64_t intmax_t;
@@ -126,6 +129,7 @@ typedef uint64_t uintmax_t;
#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259
// 7.18.2.1 Limits of exact-width integer types
+#if _MSC_VER >= 1700 && !defined(_INTSAFE_H_INCLUDED_)
#define INT8_MIN ((int8_t)_I8_MIN)
#define INT8_MAX _I8_MAX
#define INT16_MIN ((int16_t)_I16_MIN)
@@ -138,6 +142,7 @@ typedef uint64_t uintmax_t;
#define UINT16_MAX _UI16_MAX
#define UINT32_MAX _UI32_MAX
#define UINT64_MAX _UI64_MAX
+#endif
// 7.18.2.2 Limits of minimum-width integer types
#define INT_LEAST8_MIN INT8_MIN