diff options
author | Sara Golemon <sgolemon@fb.com> | 2015-08-20 14:40:08 -0700 |
---|---|---|
committer | Sara Golemon <sgolemon@fb.com> | 2015-08-20 14:40:08 -0700 |
commit | a3eed5fbfe24368726906f425b15ce40b5fc36e0 (patch) | |
tree | c0ac2b194b2a8a11b71eda3c0121687cdc0f7815 | |
parent | 5ece3ec71c3eb8d3b706c68b82a8f7c4a14491c6 (diff) | |
download | php-git-a3eed5fbfe24368726906f425b15ce40b5fc36e0.tar.gz |
Move __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS defs earlier
These defines should apply to windows as well,
so move them out of the non-windows specific section
and always define them for C++ compilations.
-rw-r--r-- | main/php_stdint.h | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/main/php_stdint.h b/main/php_stdint.h index 29a81f20bc..71f7493a6a 100644 --- a/main/php_stdint.h +++ b/main/php_stdint.h @@ -19,6 +19,25 @@ #ifndef PHP_STDINT_H #define PHP_STDINT_H +/* C99 requires these for C++ to get the definitions + * of INT64_MAX and other macros used by Zend/zend_long.h + * C11 drops this requirement, so these effectively + * just backport that piece of behavior. + * + * These defines are placed here instead of + * with the include below, because sys/types + * and inttypes may include stdint themselves. + * And these definitions MUST come first. + */ +#ifdef __cplusplus +# ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +# endif +# ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +# endif +#endif + #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 @@ -42,21 +61,6 @@ #include "php_config.h" -#if HAVE_STDINT_H && defined(__cplusplus) - /* C99 requires these for C++ to get the definitions - * of INT64_MAX and other macros used by Zend/zend_long.h - * C11 drops this requirement, so these effectively - * just backport that piece of behavior. - * - * These defines are placed here instead of - * with the include below, because sys/types - * and inttypes may include stdint themselves. - * And these definitions MUST come first. - */ -# define __STDC_LIMIT_MACROS -# define __STDC_CONSTANT_MACROS -#endif - #if HAVE_SYS_TYPES_H # include <sys/types.h> #endif |