[libcxx-commits] [PATCH] D126705: [libc++][CI][AIX] modify the equivalence classes of regex_match for locale "cs_CZ.ISO8859-2"

Digger Lin via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Sep 20 11:13:13 PDT 2023


DiggerLin marked an inline comment as done.
DiggerLin added inline comments.


================
Comment at: libcxx/test/std/re/re.alg/re.alg.match/basic.locale.pass.cpp:39-40
         const char s[] = "m";
+// AIX supports character equivalence classes. What the contents of the class are depends
+// on the locale and the standards do not specify any locale other than C/POSIX.
+#if defined(_AIX)
----------------
ldionne wrote:
> Even after reading the comment, I don't really understand why it needs to be `[=m=]` on AIX and `[=M=]` elsewhere. Can you explain?
in the C/POSIX , it define "An equivalence class includes both the lowercase and uppercase versions of a character in the class."

https://www.datafix.com.au/BASHing/2020-06-17.html#:~:text=An%20equivalence%20class%20includes%20both,a%20character%20in%20the%20class.&text=As%20it%20says%20in%20the,range%20expression%20produces%20unspecified%20results.

so [=m=] and [=M=] will has the same set of characters in the C/POSIX .

but in AIX, the specific not define "the  [=m=] and [=M=] will has the same set of characters ."


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D126705



More information about the libcxx-commits mailing list