summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Peter Banyard <girgias@php.net>2020-04-22 20:18:19 +0200
committerGeorge Peter Banyard <girgias@php.net>2020-04-22 20:18:19 +0200
commitf91f72607b8101bfe9df3bf8327c99e9a1f21a00 (patch)
treecdbd86578a6709fa3c901747532d7cd8d3dcf890
parent657f756ccd79b0fd1268eb9796e371aa3f76c2a8 (diff)
downloadphp-git-f91f72607b8101bfe9df3bf8327c99e9a1f21a00.tar.gz
Drop unnecessary stdint and inttypes header checks
These are always available as of C99. Closes GH-5323 Co-authored-by: "Christoph M. Becker" <cmbecker69@gmx.de>
-rw-r--r--Zend/zend_strtod_int.h4
-rw-r--r--build/php.m46
-rw-r--r--ext/fileinfo/libmagic.patch84
-rw-r--r--ext/fileinfo/libmagic/file.h12
-rw-r--r--ext/mysqlnd/config-win.h2
-rw-r--r--ext/sockets/conversions.c2
-rw-r--r--ext/standard/image.c3
-rw-r--r--ext/standard/iptc.c11
-rw-r--r--main/SAPI.h3
-rw-r--r--main/php_stdint.h29
-rw-r--r--main/php_variables.c3
-rw-r--r--main/snprintf.c3
-rw-r--r--main/spprintf.c2
-rw-r--r--sapi/fpm/fpm/fpm_atomic.h6
-rw-r--r--sapi/fpm/fpm/fpm_conf.c6
-rw-r--r--sapi/fpm/fpm/fpm_php_trace.c6
-rw-r--r--sapi/fpm/fpm/fpm_trace_pread.c6
-rw-r--r--win32/php_inttypes.h313
-rw-r--r--win32/php_stdint.h265
19 files changed, 57 insertions, 709 deletions
diff --git a/Zend/zend_strtod_int.h b/Zend/zend_strtod_int.h
index 5fe31f940d..e1cf562d64 100644
--- a/Zend/zend_strtod_int.h
+++ b/Zend/zend_strtod_int.h
@@ -42,11 +42,7 @@
https://wiki.php.net/rfc/remove_hex_support_in_numeric_strings */
#define NO_HEX_FP 1
-#if defined(HAVE_INTTYPES_H)
#include <inttypes.h>
-#elif defined(HAVE_STDINT_H)
-#include <stdint.h>
-#endif
#ifndef HAVE_INT32_T
# if SIZEOF_INT == 4
diff --git a/build/php.m4 b/build/php.m4
index c43340315f..1b9940147e 100644
--- a/build/php.m4
+++ b/build/php.m4
@@ -1044,9 +1044,7 @@ AC_DEFUN([_PHP_CHECK_SIZEOF], [
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
-#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
-#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
@@ -2421,9 +2419,7 @@ AC_DEFUN([PHP_CHECK_STDINT_TYPES], [
AC_CHECK_SIZEOF([long long])
AC_CHECK_SIZEOF([size_t])
AC_CHECK_TYPES([int8, int16, int32, int64, int8_t, int16_t, int32_t, int64_t, uint8, uint16, uint32, uint64, uint8_t, uint16_t, uint32_t, uint64_t, u_int8_t, u_int16_t, u_int32_t, u_int64_t], [], [], [
-#if HAVE_STDINT_H
-# include <stdint.h>
-#endif
+#include <stdint.h>
#if HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
diff --git a/ext/fileinfo/libmagic.patch b/ext/fileinfo/libmagic.patch
index 80a38a0728..19a3fd9cd7 100644
--- a/ext/fileinfo/libmagic.patch
+++ b/ext/fileinfo/libmagic.patch
@@ -1,6 +1,6 @@
diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
--- libmagic.orig/apprentice.c 2019-02-20 03:35:27.000000000 +0100
-+++ libmagic/apprentice.c 2019-12-19 20:37:54.476535900 +0100
++++ libmagic/apprentice.c 2020-04-07 22:25:10.486120900 +0200
@@ -29,6 +29,8 @@
* apprentice - make one pass through /etc/magic, learning its secrets.
*/
@@ -974,7 +974,7 @@ diff -u libmagic.orig/apprentice.c libmagic/apprentice.c
}
diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
--- libmagic.orig/ascmagic.c 2019-05-07 04:27:11.000000000 +0200
-+++ libmagic/ascmagic.c 2019-12-19 20:37:54.628894400 +0100
++++ libmagic/ascmagic.c 2020-04-07 22:25:10.501740300 +0200
@@ -96,7 +96,7 @@
rv = file_ascmagic_with_encoding(ms, &bb,
ubuf, ulen, code, type, text);
@@ -1005,7 +1005,7 @@ diff -u libmagic.orig/ascmagic.c libmagic/ascmagic.c
}
diff -u libmagic.orig/buffer.c libmagic/buffer.c
--- libmagic.orig/buffer.c 2019-05-07 04:27:11.000000000 +0200
-+++ libmagic/buffer.c 2019-12-19 20:37:54.639865800 +0100
++++ libmagic/buffer.c 2020-04-07 22:25:10.501740300 +0200
@@ -31,19 +31,23 @@
#endif /* lint */
@@ -1062,7 +1062,7 @@ diff -u libmagic.orig/buffer.c libmagic/buffer.c
diff -u libmagic.orig/cdf.c libmagic/cdf.c
--- libmagic.orig/cdf.c 2019-02-20 03:35:27.000000000 +0100
-+++ libmagic/cdf.c 2019-12-19 20:37:55.233790900 +0100
++++ libmagic/cdf.c 2020-04-07 22:25:10.517321000 +0200
@@ -43,7 +43,17 @@
#include <err.h>
#endif
@@ -1341,7 +1341,7 @@ diff -u libmagic.orig/cdf.c libmagic/cdf.c
#endif
diff -u libmagic.orig/cdf.h libmagic/cdf.h
--- libmagic.orig/cdf.h 2019-02-20 02:24:19.000000000 +0100
-+++ libmagic/cdf.h 2019-12-19 20:37:55.431591900 +0100
++++ libmagic/cdf.h 2020-04-07 22:25:10.517321000 +0200
@@ -35,10 +35,10 @@
#ifndef _H_CDF_
#define _H_CDF_
@@ -1366,7 +1366,7 @@ diff -u libmagic.orig/cdf.h libmagic/cdf.h
#define CDF_SECID_FREE -1
diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c
--- libmagic.orig/cdf_time.c 2019-03-12 21:43:05.000000000 +0100
-+++ libmagic/cdf_time.c 2019-12-19 20:37:55.483459500 +0100
++++ libmagic/cdf_time.c 2020-04-07 22:25:10.517321000 +0200
@@ -23,6 +23,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
@@ -1395,7 +1395,7 @@ diff -u libmagic.orig/cdf_time.c libmagic/cdf_time.c
(void)snprintf(buf, 26, "*Bad* %#16.16" INT64_T_FORMAT "x\n",
diff -u libmagic.orig/compress.c libmagic/compress.c
--- libmagic.orig/compress.c 2019-05-07 04:27:11.000000000 +0200
-+++ libmagic/compress.c 2019-12-19 20:37:55.501422500 +0100
++++ libmagic/compress.c 2020-04-07 22:25:10.517321000 +0200
@@ -45,13 +45,11 @@
#endif
#include <string.h>
@@ -1545,7 +1545,7 @@ diff -u libmagic.orig/compress.c libmagic/compress.c
+#endif
diff -u libmagic.orig/der.c libmagic/der.c
--- libmagic.orig/der.c 2019-02-20 03:35:27.000000000 +0100
-+++ libmagic/der.c 2019-12-19 20:37:55.522331900 +0100
++++ libmagic/der.c 2020-04-07 22:25:10.517321000 +0200
@@ -51,7 +51,9 @@
#include "magic.h"
#include "der.h"
@@ -1575,7 +1575,7 @@ diff -u libmagic.orig/der.c libmagic/der.c
snprintf(buf + z, blen - z, "%.2x", d[i]);
diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
--- libmagic.orig/elfclass.h 2019-02-20 02:30:19.000000000 +0100
-+++ libmagic/elfclass.h 2019-12-19 20:37:55.539285200 +0100
++++ libmagic/elfclass.h 2020-04-07 22:25:10.517321000 +0200
@@ -41,7 +41,7 @@
return toomany(ms, "program headers", phnum);
flags |= FLAGS_IS_CORE;
@@ -1605,7 +1605,7 @@ diff -u libmagic.orig/elfclass.h libmagic/elfclass.h
CAST(int, elf_getu16(swap, elfhdr.e_shstrndx)),
diff -u libmagic.orig/encoding.c libmagic/encoding.c
--- libmagic.orig/encoding.c 2019-04-15 18:48:41.000000000 +0200
-+++ libmagic/encoding.c 2019-12-19 20:37:55.547264800 +0100
++++ libmagic/encoding.c 2020-04-07 22:25:10.517321000 +0200
@@ -89,13 +89,13 @@
*code_mime = "binary";
@@ -1636,7 +1636,7 @@ diff -u libmagic.orig/encoding.c libmagic/encoding.c
}
diff -u libmagic.orig/file.h libmagic/file.h
--- libmagic.orig/file.h 2019-05-07 04:27:11.000000000 +0200
-+++ libmagic/file.h 2020-03-29 18:05:08.870164300 +0200
++++ libmagic/file.h 2020-04-22 20:15:46.790840100 +0200
@@ -33,18 +33,9 @@
#ifndef __file_h__
#define __file_h__
@@ -1658,7 +1658,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
#ifdef _WIN64
#define SIZE_T_FORMAT "I64"
#else
-@@ -57,19 +48,34 @@
+@@ -57,19 +48,28 @@
#define INT64_T_FORMAT "ll"
#define INTMAX_T_FORMAT "j"
#endif
@@ -1668,23 +1668,19 @@ diff -u libmagic.orig/file.h libmagic/file.h
#include <stdio.h> /* Include that here, to make sure __P gets defined */
#include <errno.h>
#include <fcntl.h> /* For open and flags */
-+#ifdef HAVE_STDINT_H
+-#ifdef HAVE_INTTYPES_H
+-#include <inttypes.h>
++
+#ifndef __STDC_LIMIT_MACROS
-+#define __STDC_LIMIT_MACROS
-+#endif
-+#ifndef __STDC_FORMAT_MACROS
-+#define __STDC_FORMAT_MACROS
-+#endif
-+#include <stdint.h>
-+#endif
- #ifdef HAVE_INTTYPES_H
- #include <inttypes.h>
++# define __STDC_LIMIT_MACROS
#endif
-#include <regex.h>
-#include <time.h>
-+#ifdef PHP_WIN32
-+#include "win32/php_stdint.h"
++#ifndef __STDC_FORMAT_MACROS
++# define __STDC_FORMAT_MACROS
+#endif
++#include <stdint.h>
++#include <inttypes.h>
+
+#include "php.h"
+#include "ext/standard/php_string.h"
@@ -1698,7 +1694,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
#include <sys/param.h>
#endif
/* Do this here and now, because struct stat gets re-defined on solaris */
-@@ -82,7 +88,7 @@
+@@ -82,7 +82,7 @@
#define MAGIC "/etc/magic"
#endif
@@ -1707,7 +1703,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
#define PATHSEP ';'
#else
#define PATHSEP ':'
-@@ -116,12 +122,6 @@
+@@ -116,12 +116,6 @@
#endif
#endif
@@ -1720,7 +1716,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
#ifndef MIN
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
#endif
-@@ -150,10 +150,10 @@
+@@ -150,10 +144,10 @@
struct buffer {
int fd;
@@ -1733,7 +1729,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
void *ebuf;
size_t elen;
};
-@@ -243,7 +243,7 @@
+@@ -243,7 +237,7 @@
#define FILE_DER 48
#define FILE_NAMES_SIZE 49 /* size of array to contain all names */
@@ -1742,7 +1738,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
((t) == FILE_STRING || \
(t) == FILE_PSTRING || \
(t) == FILE_BESTRING16 || \
-@@ -447,28 +447,23 @@
+@@ -447,28 +441,23 @@
/* Type for Unicode characters */
typedef unsigned long unichar;
@@ -1776,7 +1772,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
protected int file_zmagic(struct magic_set *, const struct buffer *,
const char *);
#endif
-@@ -491,13 +486,9 @@
+@@ -491,13 +480,9 @@
protected void file_badread(struct magic_set *);
protected void file_badseek(struct magic_set *);
protected void file_oomem(struct magic_set *, size_t);
@@ -1793,7 +1789,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
protected void file_showstr(FILE *, const char *, size_t);
protected size_t file_mbswidth(const char *);
protected const char *file_getbuffer(struct magic_set *);
-@@ -513,34 +504,13 @@
+@@ -513,34 +498,13 @@
size_t);
#endif /* __EMX__ */
@@ -1831,7 +1827,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
typedef struct {
char *buf;
-@@ -550,28 +520,13 @@
+@@ -550,28 +514,13 @@
protected file_pushbuf_t *file_push_buffer(struct magic_set *);
protected char *file_pop_buffer(struct magic_set *, file_pushbuf_t *);
@@ -1839,7 +1835,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
extern const char *file_names[];
extern const size_t file_nnames;
-#endif
-
+-
-#ifndef HAVE_PREAD
-ssize_t pread(int, void *, size_t, off_t);
-#endif
@@ -1852,7 +1848,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
-#ifndef HAVE_DPRINTF
-int dprintf(int, const char *, ...);
-#endif
--
+
-#ifndef HAVE_STRLCPY
+#ifndef strlcpy
size_t strlcpy(char *, const char *, size_t);
@@ -1862,7 +1858,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
size_t strlcat(char *, const char *, size_t);
#endif
#ifndef HAVE_STRCASESTR
-@@ -587,39 +542,6 @@
+@@ -587,39 +536,6 @@
#ifndef HAVE_ASCTIME_R
char *asctime_r(const struct tm *, char *);
#endif
@@ -1902,7 +1898,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
#if defined(HAVE_MMAP) && defined(HAVE_SYS_MMAN_H) && !defined(QUICK)
#define QUICK
-@@ -645,6 +567,18 @@
+@@ -645,6 +561,18 @@
#else
#define FILE_RCSID(id)
#endif
@@ -1923,7 +1919,7 @@ diff -u libmagic.orig/file.h libmagic/file.h
#endif
diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
--- libmagic.orig/fsmagic.c 2019-05-07 04:26:48.000000000 +0200
-+++ libmagic/fsmagic.c 2019-12-19 20:37:55.740986600 +0100
++++ libmagic/fsmagic.c 2020-04-07 22:25:10.532971400 +0200
@@ -66,26 +66,10 @@
# define minor(dev) ((dev) & 0xff)
#endif
@@ -2216,7 +2212,7 @@ diff -u libmagic.orig/fsmagic.c libmagic/fsmagic.c
case S_IFSOCK:
diff -u libmagic.orig/funcs.c libmagic/funcs.c
--- libmagic.orig/funcs.c 2019-05-07 04:27:11.000000000 +0200
-+++ libmagic/funcs.c 2020-03-30 15:56:57.404908500 +0200
++++ libmagic/funcs.c 2020-04-14 17:15:50.737587100 +0200
@@ -31,87 +31,80 @@
#endif /* lint */
@@ -2588,7 +2584,7 @@ diff -u libmagic.orig/funcs.c libmagic/funcs.c
diff -u libmagic.orig/magic.c libmagic/magic.c
--- libmagic.orig/magic.c 2019-05-07 04:27:11.000000000 +0200
-+++ libmagic/magic.c 2019-12-19 20:37:55.783491600 +0100
++++ libmagic/magic.c 2020-04-07 22:25:10.532971400 +0200
@@ -25,11 +25,6 @@
* SUCH DAMAGE.
*/
@@ -3052,8 +3048,8 @@ diff -u libmagic.orig/magic.c libmagic/magic.c
public const char *
magic_error(struct magic_set *ms)
diff -u libmagic.orig/magic.h libmagic/magic.h
---- libmagic.orig/magic.h 2020-03-30 16:09:56.288564100 +0200
-+++ libmagic/magic.h 2019-12-19 20:37:55.792489700 +0100
+--- libmagic.orig/magic.h 2020-04-22 20:17:15.432186600 +0200
++++ libmagic/magic.h 2020-04-07 22:25:10.548560600 +0200
@@ -124,6 +124,7 @@
const char *magic_getpath(const char *, int);
@@ -3064,7 +3060,7 @@ diff -u libmagic.orig/magic.h libmagic/magic.h
diff -u libmagic.orig/print.c libmagic/print.c
--- libmagic.orig/print.c 2019-03-12 21:43:05.000000000 +0100
-+++ libmagic/print.c 2019-12-19 20:37:55.808452700 +0100
++++ libmagic/print.c 2020-04-07 22:25:10.548560600 +0200
@@ -28,6 +28,7 @@
/*
* print.c - debugging printout routines
@@ -3138,7 +3134,7 @@ diff -u libmagic.orig/print.c libmagic/print.c
goto out;
diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
--- libmagic.orig/readcdf.c 2019-03-12 21:43:05.000000000 +0100
-+++ libmagic/readcdf.c 2020-03-21 14:20:14.170673900 +0100
++++ libmagic/readcdf.c 2020-04-07 22:25:10.548560600 +0200
@@ -31,7 +31,11 @@
#include <assert.h>
@@ -3257,7 +3253,7 @@ diff -u libmagic.orig/readcdf.c libmagic/readcdf.c
if (i != -1)
diff -u libmagic.orig/softmagic.c libmagic/softmagic.c
--- libmagic.orig/softmagic.c 2019-05-17 04:24:59.000000000 +0200
-+++ libmagic/softmagic.c 2020-03-25 17:15:23.794665300 +0100
++++ libmagic/softmagic.c 2020-04-07 22:25:10.548560600 +0200
@@ -43,6 +43,10 @@
#include <time.h>
#include "der.h"
diff --git a/ext/fileinfo/libmagic/file.h b/ext/fileinfo/libmagic/file.h
index 698a307deb..3450f745bd 100644
--- a/ext/fileinfo/libmagic/file.h
+++ b/ext/fileinfo/libmagic/file.h
@@ -52,21 +52,15 @@
#include <stdio.h> /* Include that here, to make sure __P gets defined */
#include <errno.h>
#include <fcntl.h> /* For open and flags */
-#ifdef HAVE_STDINT_H
+
#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS
+# define __STDC_LIMIT_MACROS
#endif
#ifndef __STDC_FORMAT_MACROS
-#define __STDC_FORMAT_MACROS
+# define __STDC_FORMAT_MACROS
#endif
#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
-#endif
-#ifdef PHP_WIN32
-#include "win32/php_stdint.h"
-#endif
#include "php.h"
#include "ext/standard/php_string.h"
diff --git a/ext/mysqlnd/config-win.h b/ext/mysqlnd/config-win.h
index 1047664f64..69801bf60e 100644
--- a/ext/mysqlnd/config-win.h
+++ b/ext/mysqlnd/config-win.h
@@ -13,7 +13,7 @@ This file is public domain and comes with NO WARRANTY of any kind */
#include <io.h>
#include <malloc.h>
-#include <win32/php_stdint.h>
+#include <stdint.h>
#ifndef HAVE_INT8_T
#define HAVE_INT8_T
diff --git a/ext/sockets/conversions.c b/ext/sockets/conversions.c
index c23b04c591..f2c66758cb 100644
--- a/ext/sockets/conversions.c
+++ b/ext/sockets/conversions.c
@@ -17,7 +17,7 @@
# include <sys/ioctl.h>
# include <net/if.h>
#else
-# include <win32/php_stdint.h>
+# include <stdint.h>
#endif
#include <limits.h>
diff --git a/ext/standard/image.c b/ext/standard/image.c
index e7bc509e91..e967aaeee0 100644
--- a/ext/standard/image.c
+++ b/ext/standard/image.c
@@ -26,9 +26,6 @@
#include <unistd.h>
#endif
#include "php_image.h"
-#ifdef PHP_WIN32
-#include "win32/php_stdint.h"
-#endif
#if HAVE_ZLIB && !defined(COMPILE_DL_ZLIB)
#include "zlib.h"
diff --git a/ext/standard/iptc.c b/ext/standard/iptc.c
index 8b327c1929..ea86795555 100644
--- a/ext/standard/iptc.c
+++ b/ext/standard/iptc.c
@@ -33,14 +33,9 @@
#include <sys/stat.h>
-#ifdef PHP_WIN32
-# include "win32/php_stdint.h"
-#else
-# if HAVE_INTTYPES_H
-# include <inttypes.h>
-# elif HAVE_STDINT_H
-# include <stdint.h>
-# endif
+#include <stdint.h>
+#ifndef PHP_WIN32
+# include <inttypes.h>
#endif
/* some defines for the different JPEG block types */
diff --git a/main/SAPI.h b/main/SAPI.h
index dcb4c13845..d1ef8a40b0 100644
--- a/main/SAPI.h
+++ b/main/SAPI.h
@@ -22,9 +22,6 @@
#include "zend_API.h"
#include "zend_llist.h"
#include "zend_operators.h"
-#ifdef PHP_WIN32
-#include "win32/php_stdint.h"
-#endif
#include <sys/stat.h>
#define SAPI_OPTION_NO_CHDIR 1
diff --git a/main/php_stdint.h b/main/php_stdint.h
index f439b9f308..42bf9aa316 100644
--- a/main/php_stdint.h
+++ b/main/php_stdint.h
@@ -39,25 +39,12 @@
# endif
#endif
+#include <inttypes.h>
+#include <stdint.h>
#if defined(_MSC_VER)
-/* Make sure the regular stdint.h wasn't included already and prevent it to be
- included afterwards. Though if some other library needs some stuff from
- stdint.h included afterwards and misses it, we'd have to extend ours. On
- the other hand, if stdint.h was included before, some conflicts might
- happen so we'd likewise have to fix ours. */
-# if !defined(_STDINT)
-# define _STDINT
-# include "win32/php_stdint.h"
-# include "win32/php_inttypes.h"
+# ifndef u_char
+typedef unsigned __int8 u_char;
# endif
-# define HAVE_INT8_T 1
-# define HAVE_UINT8_T 1
-# define HAVE_INT16_T 1
-# define HAVE_UINT16_T 1
-# define HAVE_INT32_T 1
-# define HAVE_UINT32_T 1
-# define HAVE_INT64_T 1
-# define HAVE_UINT64_T 1
#else
#include "php_config.h"
@@ -66,14 +53,6 @@
# include <sys/types.h>
#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-
-#if HAVE_STDINT_H
-# include <stdint.h>
-#endif
-
#ifndef HAVE_INT8_T
# ifdef HAVE_INT8
typedef int8 int8_t;
diff --git a/main/php_variables.c b/main/php_variables.c
index 6fb6ca000d..b41286312d 100644
--- a/main/php_variables.c
+++ b/main/php_variables.c
@@ -25,9 +25,6 @@
#include "php_content_types.h"
#include "SAPI.h"
#include "zend_globals.h"
-#ifdef PHP_WIN32
-# include "win32/php_inttypes.h"
-#endif
/* for systems that need to override reading of environment variables */
void _php_import_environment_variables(zval *array_ptr);
diff --git a/main/snprintf.c b/main/snprintf.c
index 4c20367ea3..581cac1d3b 100644
--- a/main/snprintf.c
+++ b/main/snprintf.c
@@ -27,10 +27,7 @@
#include <string.h>
#include <stdlib.h>
#include <math.h>
-
-#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
-#endif
#include <locale.h>
#ifdef ZTS
diff --git a/main/spprintf.c b/main/spprintf.c
index cae2e12c5e..768a27470c 100644
--- a/main/spprintf.c
+++ b/main/spprintf.c
@@ -83,9 +83,7 @@
#include <string.h>
#include <stdlib.h>
#include <math.h>
-#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
-#endif
#include <locale.h>
#ifdef ZTS
diff --git a/sapi/fpm/fpm/fpm_atomic.h b/sapi/fpm/fpm/fpm_atomic.h
index ec9e4f197d..1bb6106e45 100644
--- a/sapi/fpm/fpm/fpm_atomic.h
+++ b/sapi/fpm/fpm/fpm_atomic.h
@@ -3,11 +3,7 @@
#ifndef FPM_ATOMIC_H
#define FPM_ATOMIC_H 1
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# include <stdint.h>
-#endif
+#include <inttypes.h>
#include <sched.h>
#ifdef HAVE_BUILTIN_ATOMIC
diff --git a/sapi/fpm/fpm/fpm_conf.c b/sapi/fpm/fpm/fpm_conf.c
index 116b07fdff..cc451c9662 100644
--- a/sapi/fpm/fpm/fpm_conf.c
+++ b/sapi/fpm/fpm/fpm_conf.c
@@ -9,11 +9,7 @@
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# include <stdint.h>
-#endif
+#include <inttypes.h>
#ifdef HAVE_GLOB
# include <glob.h>
#endif
diff --git a/sapi/fpm/fpm/fpm_php_trace.c b/sapi/fpm/fpm/fpm_php_trace.c
index cfdcf65094..0437026a06 100644
--- a/sapi/fpm/fpm/fpm_php_trace.c
+++ b/sapi/fpm/fpm/fpm_php_trace.c
@@ -9,11 +9,7 @@
#include <stdio.h>
#include <stddef.h>
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# include <stdint.h>
-#endif
+#include <inttypes.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/types.h>
diff --git a/sapi/fpm/fpm/fpm_trace_pread.c b/sapi/fpm/fpm/fpm_trace_pread.c
index 604882eff3..22b476f778 100644
--- a/sapi/fpm/fpm/fpm_trace_pread.c
+++ b/sapi/fpm/fpm/fpm_trace_pread.c
@@ -9,11 +9,7 @@
#include <fcntl.h>
#include <stdio.h>
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# include <stdint.h>
-#endif
+#include <inttypes.h>
#include "fpm_trace.h"
#include "fpm_process_ctl.h"
diff --git a/win32/php_inttypes.h b/win32/php_inttypes.h
deleted file mode 100644
index 20e9c9b775..0000000000
--- a/win32/php_inttypes.h
+++ /dev/null
@@ -1,313 +0,0 @@
-// ISO C9x compliant inttypes.h for Microsoft Visual Studio
-// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
-//
-// Copyright (c) 2006 Alexander Chemeris
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// 3. The name of the author may be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef _MSC_VER // [
-#error "Use this header only with Microsoft Visual C++ compilers!"
-#endif // _MSC_VER ]
-
-// Starting with vc14, many of the C11 features are now included, so we only
-// need many of these typedefs and defines for older VS suites
-#if _MSC_VER < 1900
-
-#ifndef _MSC_INTTYPES_H_ // [
-#define _MSC_INTTYPES_H_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif
-
-#include "stdint.h"
-
-// 7.8 Format conversion of integer types
-
-typedef struct {
- intmax_t quot;
- intmax_t rem;
-} imaxdiv_t;
-
-// 7.8.1 Macros for format specifiers
-
-#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) // [ See footnote 185 at page 198
-
-// The fprintf macros for signed integers are:
-#define PRId8 "d"
-#define PRIi8 "i"
-#define PRIdLEAST8 "d"
-#define PRIiLEAST8 "i"
-#define PRIdFAST8 "d"
-#define PRIiFAST8 "i"
-
-#define PRId16 "hd"
-#define PRIi16 "hi"
-#define PRIdLEAST16 "hd"
-#define PRIiLEAST16 "hi"
-#define PRIdFAST16 "hd"
-#define PRIiFAST16 "hi"
-
-#define PRId32 "I32d"
-#define PRIi32 "I32i"
-#define PRIdLEAST32 "I32d"
-#define PRIiLEAST32 "I32i"
-#define PRIdFAST32 "I32d"
-#define PRIiFAST32 "I32i"
-
-#define PRId64 "I64d"
-#define PRIi64 "I64i"
-#define PRIdLEAST64 "I64d"
-#define PRIiLEAST64 "I64i"
-#define PRIdFAST64 "I64d"
-#define PRIiFAST64 "I64i"
-
-#define PRIdMAX "I64d"
-#define PRIiMAX "I64i"
-
-#define PRIdPTR "Id"
-#define PRIiPTR "Ii"
-
-// The fprintf macros for unsigned integers are:
-#define PRIo8 "o"
-#define PRIu8 "u"
-#define PRIx8 "x"
-#define PRIX8 "X"
-#define PRIoLEAST8 "o"
-#define PRIuLEAST8 "u"
-#define PRIxLEAST8 "x"
-#define PRIXLEAST8 "X"
-#define PRIoFAST8 "o"
-#define PRIuFAST8 "u"
-#define PRIxFAST8 "x"
-#define PRIXFAST8 "X"
-
-#define PRIo16 "ho"
-#define PRIu16 "hu"
-#define PRIx16 "hx"
-#define PRIX16 "hX"
-#define PRIoLEAST16 "ho"
-#define PRIuLEAST16 "hu"
-#define PRIxLEAST16 "hx"
-#define PRIXLEAST16 "hX"
-#define PRIoFAST16 "ho"
-#define PRIuFAST16 "hu"
-#define PRIxFAST16 "hx"
-#define PRIXFAST16 "hX"
-
-#define PRIo32 "I32o"
-#define PRIu32 "I32u"
-#define PRIx32 "I32x"
-#define PRIX32 "I32X"
-#define PRIoLEAST32 "I32o"
-#define PRIuLEAST32 "I32u"
-#define PRIxLEAST32 "I32x"
-#define PRIXLEAST32 "I32X"
-#define PRIoFAST32 "I32o"
-#define PRIuFAST32 "I32u"
-#define PRIxFAST32 "I32x"
-#define PRIXFAST32 "I32X"
-
-#define PRIo64 "I64o"
-#define PRIu64 "I64u"
-#define PRIx64 "I64x"
-#define PRIX64 "I64X"
-#define PRIoLEAST64 "I64o"
-#define PRIuLEAST64 "I64u"
-#define PRIxLEAST64 "I64x"
-#define PRIXLEAST64 "I64X"
-#define PRIoFAST64 "I64o"
-#define PRIuFAST64 "I64u"
-#define PRIxFAST64 "I64x"
-#define PRIXFAST64 "I64X"
-
-#define PRIoMAX "I64o"
-#define PRIuMAX "I64u"
-#define PRIxMAX "I64x"
-#define PRIXMAX "I64X"
-
-#define PRIoPTR "Io"
-#define PRIuPTR "Iu"
-#define PRIxPTR "Ix"
-#define PRIXPTR "IX"
-
-// The fscanf macros for signed integers are:
-#define SCNd8 "d"
-#define SCNi8 "i"
-#define SCNdLEAST8 "d"
-#define SCNiLEAST8 "i"
-#define SCNdFAST8 "d"
-#define SCNiFAST8 "i"
-
-#define SCNd16 "hd"
-#define SCNi16 "hi"
-#define SCNdLEAST16 "hd"
-#define SCNiLEAST16 "hi"
-#define SCNdFAST16 "hd"
-#define SCNiFAST16 "hi"
-
-#define SCNd32 "ld"
-#define SCNi32 "li"
-#define SCNdLEAST32 "ld"
-#define SCNiLEAST32 "li"
-#define SCNdFAST32 "ld"
-#define SCNiFAST32 "li"
-
-#define SCNd64 "I64d"
-#define SCNi64 "I64i"
-#define SCNdLEAST64 "I64d"
-#define SCNiLEAST64 "I64i"
-#define SCNdFAST64 "I64d"
-#define SCNiFAST64 "I64i"
-
-#define SCNdMAX "I64d"
-#define SCNiMAX "I64i"
-
-#ifdef _WIN64 // [
-# define SCNdPTR "I64d"
-# define SCNiPTR "I64i"
-#else // _WIN64 ][
-# define SCNdPTR "ld"
-# define SCNiPTR "li"
-#endif // _WIN64 ]
-
-// The fscanf macros for unsigned integers are:
-#define SCNo8 "o"
-#define SCNu8 "u"
-#define SCNx8 "x"
-#define SCNX8 "X"
-#define SCNoLEAST8 "o"
-#define SCNuLEAST8 "u"
-#define SCNxLEAST8 "x"
-#define SCNXLEAST8 "X"
-#define SCNoFAST8 "o"
-#define SCNuFAST8 "u"
-#define SCNxFAST8 "x"
-#define SCNXFAST8 "X"
-
-#define SCNo16 "ho"
-#define SCNu16 "hu"
-#define SCNx16 "hx"
-#define SCNX16 "hX"
-#define SCNoLEAST16 "ho"
-#define SCNuLEAST16 "hu"
-#define SCNxLEAST16 "hx"
-#define SCNXLEAST16 "hX"
-#define SCNoFAST16 "ho"
-#define SCNuFAST16 "hu"
-#define SCNxFAST16 "hx"
-#define SCNXFAST16 "hX"
-
-#define SCNo32 "lo"
-#define SCNu32 "lu"
-#define SCNx32 "lx"
-#define SCNX32 "lX"
-#define SCNoLEAST32 "lo"
-#define SCNuLEAST32 "lu"
-#define SCNxLEAST32 "lx"
-#define SCNXLEAST32 "lX"
-#define SCNoFAST32 "lo"
-#define SCNuFAST32 "lu"
-#define SCNxFAST32 "lx"
-#define SCNXFAST32 "lX"
-
-#define SCNo64 "I64o"
-#define SCNu64 "I64u"
-#define SCNx64 "I64x"
-#define SCNX64 "I64X"
-#define SCNoLEAST64 "I64o"
-#define SCNuLEAST64 "I64u"
-#define SCNxLEAST64 "I64x"
-#define SCNXLEAST64 "I64X"
-#define SCNoFAST64 "I64o"
-#define SCNuFAST64 "I64u"
-#define SCNxFAST64 "I64x"
-#define SCNXFAST64 "I64X"
-
-#define SCNoMAX "I64o"
-#define SCNuMAX "I64u"
-#define SCNxMAX "I64x"
-#define SCNXMAX "I64X"
-
-#ifdef _WIN64 // [
-# define SCNoPTR "I64o"
-# define SCNuPTR "I64u"
-# define SCNxPTR "I64x"
-# define SCNXPTR "I64X"
-#else // _WIN64 ][
-# define SCNoPTR "lo"
-# define SCNuPTR "lu"
-# define SCNxPTR "lx"
-# define SCNXPTR "lX"
-#endif // _WIN64 ]
-
-#endif // __STDC_FORMAT_MACROS ]
-
-// 7.8.2 Functions for greatest-width integer types
-
-// 7.8.2.1 The imaxabs function
-#define imaxabs _abs64
-
-// 7.8.2.2 The imaxdiv function
-
-// This is modified version of div() function from Microsoft's div.c found
-// in %MSVC.NET%\crt\src\div.c
-#ifdef STATIC_IMAXDIV // [
-static
-#else // STATIC_IMAXDIV ][
-_inline
-#endif // STATIC_IMAXDIV ]
-imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom)
-{
- imaxdiv_t result;
-
- result.quot = numer / denom;
- result.rem = numer % denom;
-
- if (numer < 0 && result.rem > 0) {
- // did division wrong; must fix up
- ++result.quot;
- result.rem -= denom;
- }
-
- return result;
-}
-
-// 7.8.2.3 The strtoimax and strtoumax functions
-#define strtoimax _strtoi64
-#define strtoumax _strtoui64
-
-// 7.8.2.4 The wcstoimax and wcstoumax functions
-#define wcstoimax _wcstoi64
-#define wcstoumax _wcstoui64
-
-
-#endif // _MSC_INTTYPES_H_ ]
-
-#else
-#include <inttypes.h>
-#endif
diff --git a/win32/php_stdint.h b/win32/php_stdint.h
deleted file mode 100644
index e7615f1479..0000000000
--- a/win32/php_stdint.h
+++ /dev/null
@@ -1,265 +0,0 @@
-// ISO C9x compliant stdint.h for Microsoft Visual Studio
-// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
-//
-// Copyright (c) 2006-2009 Alexander Chemeris
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// 3. The name of the author may be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef _MSC_VER // [
-#error "Use this header only with Microsoft Visual C++ compilers!"
-#endif // _MSC_VER ]
-
-// Starting with vc14, many of the C11 features are now included, so we only
-// need many of these typedefs and defines for older VS suites
-#if _MSC_VER < 1900
-
-#ifndef _MSC_STDINT_H_ // [
-#define _MSC_STDINT_H_
-
-#ifndef _STDINT
-# define _STDINT
-#endif
-
-#if _MSC_VER > 1000
-#pragma once
-#endif
-
-#include <limits.h>
-
-// For Visual Studio 6 in C++ mode wrap <wchar.h> include with 'extern "C++" {}'
-// or compiler give many errors like this:
-// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
-#if (_MSC_VER < 1300) && defined(__cplusplus)
- extern "C++" {
-#endif
-# include <wchar.h>
-#if (_MSC_VER < 1300) && defined(__cplusplus)
- }
-#endif
-
-// Define _W64 macros to mark types changing their size, like intptr_t.
-#ifndef _W64
-# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
-# define _W64 __w64
-# else
-# define _W64
-# endif
-#endif
-
-
-// 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
-#ifndef int64_t
-typedef __int64 int64_t;
-#endif
-#ifndef uint8_t
-typedef unsigned __int8 uint8_t;
-#endif
-typedef unsigned __int16 uint16_t;
-#ifndef uint32_t
-typedef unsigned __int32 uint32_t;
-#endif
-typedef unsigned __int64 uint64_t;
-
-// 7.18.1.2 Minimum-width integer types
-typedef int8_t int_least8_t;
-typedef int16_t int_least16_t;
-typedef int32_t int_least32_t;
-typedef int64_t int_least64_t;
-typedef uint8_t uint_least8_t;
-typedef uint16_t uint_least16_t;
-typedef uint32_t uint_least32_t;
-typedef uint64_t uint_least64_t;
-
-// 7.18.1.3 Fastest minimum-width integer types
-typedef int8_t int_fast8_t;
-typedef int16_t int_fast16_t;
-typedef int32_t int_fast32_t;
-typedef int64_t int_fast64_t;
-typedef uint8_t uint_fast8_t;
-typedef uint16_t uint_fast16_t;
-typedef uint32_t uint_fast32_t;
-typedef uint32_t u_int32_t;
-typedef uint64_t uint_fast64_t;
-
-// 7.18.1.4 Integer types capable of holding object pointers
-/* 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;
-typedef uint64_t uintmax_t;
-
-
-// 7.18.2 Limits of specified-width integer types
-
-#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)
-#define INT16_MAX _I16_MAX
-#define INT32_MIN ((int32_t)_I32_MIN)
-#define INT32_MAX _I32_MAX
-#define INT64_MIN ((int64_t)_I64_MIN)
-#define INT64_MAX _I64_MAX
-#define UINT8_MAX _UI8_MAX
-#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
-#define INT_LEAST8_MAX INT8_MAX
-#define INT_LEAST16_MIN INT16_MIN
-#define INT_LEAST16_MAX INT16_MAX
-#define INT_LEAST32_MIN INT32_MIN
-#define INT_LEAST32_MAX INT32_MAX
-#define INT_LEAST64_MIN INT64_MIN
-#define INT_LEAST64_MAX INT64_MAX
-#define UINT_LEAST8_MAX UINT8_MAX
-#define UINT_LEAST16_MAX UINT16_MAX
-#define UINT_LEAST32_MAX UINT32_MAX
-#define UINT_LEAST64_MAX UINT64_MAX
-
-// 7.18.2.3 Limits of fastest minimum-width integer types
-#define INT_FAST8_MIN INT8_MIN
-#define INT_FAST8_MAX INT8_MAX
-#define INT_FAST16_MIN INT16_MIN
-#define INT_FAST16_MAX INT16_MAX
-#define INT_FAST32_MIN INT32_MIN
-#define INT_FAST32_MAX INT32_MAX
-#define INT_FAST64_MIN INT64_MIN
-#define INT_FAST64_MAX INT64_MAX
-#define UINT_FAST8_MAX UINT8_MAX
-#define UINT_FAST16_MAX UINT16_MAX
-#define UINT_FAST32_MAX UINT32_MAX
-#define UINT_FAST64_MAX UINT64_MAX
-
-// 7.18.2.4 Limits of integer types capable of holding object pointers
-#ifdef _WIN64 // [
-# define INTPTR_MIN INT64_MIN
-# define INTPTR_MAX INT64_MAX
-# define UINTPTR_MAX UINT64_MAX
-#else // _WIN64 ][
-# define INTPTR_MIN INT32_MIN
-# define INTPTR_MAX INT32_MAX
-# define UINTPTR_MAX UINT32_MAX
-#endif // _WIN64 ]
-
-// 7.18.2.5 Limits of greatest-width integer types
-#define INTMAX_MIN INT64_MIN
-#define INTMAX_MAX INT64_MAX
-#define UINTMAX_MAX UINT64_MAX
-
-// 7.18.3 Limits of other integer types
-
-#ifdef _WIN64 // [
-# define PTRDIFF_MIN _I64_MIN
-# define PTRDIFF_MAX _I64_MAX
-#else // _WIN64 ][
-# define PTRDIFF_MIN _I32_MIN
-# define PTRDIFF_MAX _I32_MAX
-#endif // _WIN64 ]
-
-#define SIG_ATOMIC_MIN INT_MIN
-#define SIG_ATOMIC_MAX INT_MAX
-
-#ifndef SIZE_MAX // [
-# ifdef _WIN64 // [
-# define SIZE_MAX _UI64_MAX
-# else // _WIN64 ][
-# define SIZE_MAX _UI32_MAX
-# endif // _WIN64 ]
-#endif // SIZE_MAX ]
-
-// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
-#ifndef WCHAR_MIN // [
-# define WCHAR_MIN 0
-#endif // WCHAR_MIN ]
-#ifndef WCHAR_MAX // [
-# define WCHAR_MAX _UI16_MAX
-#endif // WCHAR_MAX ]
-
-#define WINT_MIN 0
-#define WINT_MAX _UI16_MAX
-
-#endif // __STDC_LIMIT_MACROS ]
-
-
-// 7.18.4 Limits of other integer types
-
-#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260
-
-// 7.18.4.1 Macros for minimum-width integer constants
-
-#define INT8_C(val) val##i8
-#define INT16_C(val) val##i16
-#define INT32_C(val) val##i32
-#define INT64_C(val) val##i64
-
-#define UINT8_C(val) val##ui8
-#define UINT16_C(val) val##ui16
-#define UINT32_C(val) val##ui32
-#define UINT64_C(val) val##ui64
-
-// 7.18.4.2 Macros for greatest-width integer constants
-#define INTMAX_C INT64_C
-#define UINTMAX_C UINT64_C
-
-#if _MSC_VER < 1600
-static __inline int64_t llabs(int64_t i)
-{
- return i >= 0 ? i: -i;
-}
-#endif
-
-#endif // __STDC_CONSTANT_MACROS ]
-
-
-#endif // _MSC_STDINT_H_ ]
-
-#else
-#include <stdint.h>
-#endif
-
-#ifndef u_char
-typedef unsigned __int8 u_char;
-#endif