+2022-09-10 Bruno Haible <bruno@clisp.org>
+
+ uchar: Work around error in C++ mode on AIX 7.2 with xlclang.
+ * lib/uchar.in.h (char16_t, char32_t): On AIX with xlclang++, define
+ these as macros.
+ * doc/posix-headers/uchar.texi: Document the AIX + xlclang++ bug.
+
2022-09-10 Bruno Haible <bruno@clisp.org>
string: Fix compilation error in C++ mode on AIX 7.2 with xlclang.
@item
This header file is missing on many non-glibc platforms:
glibc 2.15, macOS 11.1, FreeBSD 6.4, NetBSD 9.0, OpenBSD 6.7, Minix 3.1.8, AIX 7.1, HP-UX 11.31, IRIX 6.5, Solaris 11.3, Cygwin, mingw, MSVC 9.
+@item
+This file produces compilation errors in C++ mode on some platforms:
+AIX 7.2 with xlclang++.
@end itemize
Portability problems not fixed by Gnulib:
@PRAGMA_COLUMNS@
#if @HAVE_UCHAR_H@
+/* On AIX 7.2 with xlclang++, /usr/include/uchar.h produces compilation errors
+ because it contains typedef definitions of char16_t and char32_t, however
+ char16_t and char32_t are keywords in this situation. To work around it,
+ define char16_t and char32_t as macros. */
+# if defined __cplusplus && defined _AIX && defined __ibmxl__ && defined __clang__
+# define char16_t gl_char16_t
+# define char32_t gl_char32_t
+# endif
# @INCLUDE_NEXT@ @NEXT_UCHAR_H@
#endif