[libcxx] Fix the type in __estimate_column_width

It seems that we are using wchar_t in __estimate_column_width and assume that
it is a 32 bit type. However, on AIX 32 the size of wchar_t is only 16 bits.

Changed wchar_t to uint32_t since the variable is being passed to a function
that uses uint32_t anyway.

Reviewed By: hubert.reinterpretcast, daltenty, Mordante, #libc, Quuxplusone

Differential Revision: https://reviews.llvm.org/D119770
This commit is contained in:
Stefan Pintilie 2022-02-25 08:48:58 -06:00
parent f23e5c0322
commit 9f5f08476e
2 changed files with 1 additions and 4 deletions

View File

@ -1271,7 +1271,7 @@ __estimate_column_width(const _CharT* __first, const _CharT* __last,
size_t __result = 0;
while (__first != __last) {
wchar_t __c = *__first;
uint32_t __c = *__first;
__result += __column_width(__c);
if (__result > __maximum)

View File

@ -9,9 +9,6 @@
// UNSUPPORTED: libcpp-no-concepts
// UNSUPPORTED: libcpp-has-no-incomplete-format
// Fails for 32-bit builds on AIX.
// UNSUPPORTED: LIBCXX-AIX-FIXME
// UTF-32 doesn't work properly
// XFAIL: windows