[libcxx-commits] [libcxx] [libcxx][test][AIX] Fix the thousands_sep expectation for fr_FR locales (PR #92312)

David Tenty via libcxx-commits libcxx-commits at lists.llvm.org
Mon May 27 08:42:59 PDT 2024


https://github.com/daltenty updated https://github.com/llvm/llvm-project/pull/92312

>From f30a4738ec3143ca265b0b5020af79258a91f7f6 Mon Sep 17 00:00:00 2001
From: David Tenty <daltenty at ibm.com>
Date: Tue, 14 May 2024 11:30:28 -0400
Subject: [PATCH 1/3] [libcxx][test][AIX] Fix the thousands_sep expectation for
 fr_FR locales

Similar to some other platforms, AIX uses ' ' for non-wide characters
and U202F for wide characters.
---
 .../locale.numpunct.byname/thousands_sep.pass.cpp            | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp b/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
index d7e1178c92e04..afab7f4e7d19f 100644
--- a/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
+++ b/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.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
@@ -64,7 +63,7 @@ int main(int, char**)
         // The below tests work around GLIBC's use of U202F as LC_NUMERIC thousands_sep.
         std::locale l(LOCALE_fr_FR_UTF_8);
         {
-#if defined(_CS_GNU_LIBC_VERSION) || defined(_WIN32)
+#if defined(_CS_GNU_LIBC_VERSION) || defined(_WIN32) || defined(_AIX)
             const char sep = ' ';
 #else
             const char sep = ',';
@@ -77,6 +76,8 @@ int main(int, char**)
         {
 #if defined(_CS_GNU_LIBC_VERSION)
             const wchar_t wsep = glibc_version_less_than("2.27") ? L' ' : L'\u202f';
+#elif defined(_AIX)
+	    const wchar_t wsep = L'\u202f';
 #elif defined(_WIN32)
             const wchar_t wsep = L'\u00A0';
 #else

>From 8517e41c4f75ade3879a581088f69eff3fc98ce3 Mon Sep 17 00:00:00 2001
From: David Tenty <daltenty at ibm.com>
Date: Wed, 15 May 2024 16:38:40 -0400
Subject: [PATCH 2/3] Apply clang-format

---
 .../thousands_sep.pass.cpp                       | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp b/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
index afab7f4e7d19f..9e629301e1622 100644
--- a/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
+++ b/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
@@ -64,7 +64,7 @@ int main(int, char**)
         std::locale l(LOCALE_fr_FR_UTF_8);
         {
 #if defined(_CS_GNU_LIBC_VERSION) || defined(_WIN32) || defined(_AIX)
-            const char sep = ' ';
+          const char sep = ' ';
 #else
             const char sep = ',';
 #endif
@@ -76,13 +76,13 @@ int main(int, char**)
         {
 #if defined(_CS_GNU_LIBC_VERSION)
             const wchar_t wsep = glibc_version_less_than("2.27") ? L' ' : L'\u202f';
-#elif defined(_AIX)
-	    const wchar_t wsep = L'\u202f';
-#elif defined(_WIN32)
-            const wchar_t wsep = L'\u00A0';
-#else
-            const wchar_t wsep = L',';
-#endif
+#  elif defined(_AIX)
+          const wchar_t wsep = L'\u202f';
+#  elif defined(_WIN32)
+          const wchar_t wsep = L'\u00A0';
+#  else
+          const wchar_t wsep = L',';
+#  endif
             typedef wchar_t C;
             const std::numpunct<C>& np = std::use_facet<std::numpunct<C> >(l);
             assert(np.thousands_sep() == wsep);

>From e9364f7da2e47ce1801c4d6620f6b96a2cde960a Mon Sep 17 00:00:00 2001
From: David Tenty <daltenty.dev at gmail.com>
Date: Mon, 27 May 2024 11:42:52 -0400
Subject: [PATCH 3/3] Fix nit

Co-authored-by: Mark de Wever <zar-rpg at xs4all.nl>
---
 .../locale.numpunct.byname/thousands_sep.pass.cpp               | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp b/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
index 9e629301e1622..f368b1069c063 100644
--- a/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
+++ b/libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
@@ -77,7 +77,7 @@ int main(int, char**)
 #if defined(_CS_GNU_LIBC_VERSION)
             const wchar_t wsep = glibc_version_less_than("2.27") ? L' ' : L'\u202f';
 #  elif defined(_AIX)
-          const wchar_t wsep = L'\u202f';
+          const wchar_t wsep = L'\u202F';
 #  elif defined(_WIN32)
           const wchar_t wsep = L'\u00A0';
 #  else



More information about the libcxx-commits mailing list