From 7eeccc1430eeaa434724522945245ba21c97ac57 Mon Sep 17 00:00:00 2001 From: Xing Xue Date: Mon, 13 May 2024 06:30:25 -0400 Subject: [PATCH] [libcxx][test] Fix numpunct grouping tests on AIX (#91781) The `grouping` string for locale `en_US.UTF-8` and `fr_FR.UTF-8` on AIX is `3`. This is different from Linux's `3;3` but is the same as Windows. This patch removes `XFAIL: LIBCXX-AIX-FIXME` and changes to use the `WIN32` code path. --- .../locale.numpunct.byname/grouping.pass.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp b/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp index 2f2bc2fd88325b..86c447d400aaae 100644 --- a/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp +++ b/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp @@ -9,7 +9,6 @@ // NetBSD does not support LC_NUMERIC at the moment // XFAIL: netbsd -// XFAIL: LIBCXX-AIX-FIXME // XFAIL: LIBCXX-FREEBSD-FIXME // REQUIRES: locale.en_US.UTF-8 @@ -49,7 +48,7 @@ int main(int, char**) { typedef char C; const std::numpunct& np = std::use_facet >(l); -#ifdef _WIN32 +#if defined(_WIN32) || defined(_AIX) assert(np.grouping() == "\3"); #else assert(np.grouping() == "\3\3"); @@ -59,17 +58,17 @@ int main(int, char**) { typedef wchar_t C; const std::numpunct& np = std::use_facet >(l); -#ifdef _WIN32 +# if defined(_WIN32) || defined(_AIX) assert(np.grouping() == "\3"); -#else +# else assert(np.grouping() == "\3\3"); -#endif +# endif } #endif } { std::locale l(LOCALE_fr_FR_UTF_8); -#if defined(TEST_HAS_GLIBC) || defined(_WIN32) +#if defined(TEST_HAS_GLIBC) || defined(_WIN32) || defined(_AIX) const char* const group = "\3"; #else const char* const group = "\x7f";