uchar.h
=======

Defines the types char16_t, char32_t and declares the functions mbrtoc16, c16rtomb, mbrtoc32, c32rtomb.

Gnulib module: uchar or uchar-c23

Portability problems fixed by either Gnulib module uchar or uchar-c23:

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

  * This file is not self-contained on some platforms: Haiku.

  * This file produces compilation errors in C++ mode on some platforms: AIX 7.2 with xlclang++.

Portability problems fixed by Gnulib module uchar-c23:

  * char32_t values may not be Unicode code points. This is the case in ISO C 11 compliant but not ISO C 23 compliant implementations.

Portability problems not fixed by Gnulib: