Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>. * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW, even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined. Apparently those two macros were removed in mingwrt-3.22 dated 2016-07-14. --- ChangeLog | 9 +++++++++ lib/stdint.in.h | 5 ++--- 2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 986b882a6..20319c82a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2020-08-12 Paul Eggert <[email protected]> + + stdint: port intptr_t to more-recent MinGW + Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>. + * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW, + even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined. + Apparently those two macros were removed in mingwrt-3.22 + dated 2016-07-14. + 2020-08-12 Bruno Haible <[email protected]> thread-optim: Export function-like macros only. diff --git a/lib/stdint.in.h b/lib/stdint.in.h index 324f5e8b2..cbfb53b43 100644 --- a/lib/stdint.in.h +++ b/lib/stdint.in.h @@ -302,12 +302,11 @@ typedef gl_uint_fast32_t gl_uint_fast16_t; /* kLIBC's <stdint.h> defines _INTPTR_T_DECLARED and needs its own definitions of intptr_t and uintptr_t (which use int and unsigned) to avoid clashes with declarations of system functions like sbrk. - Similarly, mingw 5.22 <crtdefs.h> defines _INTPTR_T_DEFINED and - _UINTPTR_T_DEFINED and needs its own definitions of intptr_t and + Similarly, MinGW WSL-5.4.1 <stdint.h> needs its own intptr_t and uintptr_t to avoid conflicting declarations of system functions like _findclose in <io.h>. */ # if !((defined __KLIBC__ && defined _INTPTR_T_DECLARED) \ - || (defined __MINGW32__ && defined _INTPTR_T_DEFINED && defined _UINTPTR_T_DEFINED)) + || defined __MINGW32__) # undef intptr_t # undef uintptr_t # ifdef _WIN64 -- 2.17.1
