From: Bruno Haible <bruno@clisp.org>
Date: Wed, 18 Dec 2019 18:33:27 +0000 (+0100)
Subject: wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
X-Git-Tag: v1.0~4476
X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=c99e1067a76d76a82dfaff1842f7d68e7f8ead45;p=gnulib.git

wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).

* lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
---

diff --git a/ChangeLog b/ChangeLog
index ff5ecb86e6..6bf4218275 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-12-18  Bruno Haible  <bruno@clisp.org>
+
+	wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
+	* lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
+
 2019-12-18  Bruno Haible  <bruno@clisp.org>
 
 	localename: Ensure multithread-safety in future changes.
diff --git a/lib/wchar.in.h b/lib/wchar.in.h
index 6626bd9aad..1cf7837313 100644
--- a/lib/wchar.in.h
+++ b/lib/wchar.in.h
@@ -140,12 +140,13 @@ typedef unsigned int rpl_wint_t;
    implementing mbrtowc for encodings like UTF-8.
    On AIX and MSVC, mbrtowc needs to be overridden, but mbstate_t exists and is
    large enough and overriding it would cause problems in C++ mode.  */
-#if (!(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@) \
-    && !(defined _AIX || defined _MSC_VER)
+#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
 # if !GNULIB_defined_mbstate_t
+#  if !(defined _AIX || defined _MSC_VER)
 typedef int rpl_mbstate_t;
-#  undef mbstate_t
-#  define mbstate_t rpl_mbstate_t
+#   undef mbstate_t
+#   define mbstate_t rpl_mbstate_t
+#  endif
 #  define GNULIB_defined_mbstate_t 1
 # endif
 #endif