[libcxx-commits] [PATCH] D130946: [libc++][cuchar] Declare std::c8rtomb and std::mbrtoc8 in <cuchar> if available.

Hubert Tong via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Aug 3 20:46:34 PDT 2022


hubert.reinterpretcast added a comment.

In D130946#3697908 <https://reviews.llvm.org/D130946#3697908>, @tahonermann wrote:

> @hubert.reinterpretcast, the AIX builds are failing the `libcxx/test/std/strings/c.strings/no_c8rtomb_mbrtoc8.verify.cpp` test with the following:
>
>   error: 'error' diagnostics seen but not expected:
>     File /usr/include/uchar.h Line 38: cannot combine with previous 'type-name' declaration specifier
>     File /usr/include/uchar.h Line 39: cannot combine with previous 'type-name' declaration specifier
>   2 errors generated.
>
> The existing `libcxx/test/std/strings/c.strings/cuchar.compile.pass.cpp` test is marked `XFAIL` for AIX, presumably because it fails with the same errors.
> I'll be happy to try to fix the problem (assuming it isn't a problem with the system header itself) if I can either get access to an AIX environment or get a copy of `/usr/include/uchar.h` to look at.

The issue is that `uchar.h` is not C++-friendly on the platform. The error is because it tries to define `char16_t` and `char32_t` as typedefs.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D130946/new/

https://reviews.llvm.org/D130946



More information about the libcxx-commits mailing list