From: Paul Eggert <eggert@cs.ucla.edu>
Date: Wed, 12 Aug 2020 18:27:48 +0000 (-0700)
Subject: stdint: port intptr_t to more-recent MinGW
X-Git-Tag: v1.0~3775
X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=206d2710caf7265c86f5f23265ca14df28c091f8;p=gnulib.git

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.
---

diff --git a/ChangeLog b/ChangeLog
index 986b882a69..20319c82a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+	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  <bruno@clisp.org>
 
 	thread-optim: Export function-like macros only.
diff --git a/lib/stdint.in.h b/lib/stdint.in.h
index 324f5e8b26..cbfb53b438 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