[libcxx-commits] [libcxx] 4f5ebfd - [SystemZ][z/OS][libcxx]: fix libcxx test cases failed on ebcdic mode on z/OS
Muiez Ahmed via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jun 28 11:05:12 PDT 2021
Author: Nancy Wang
Date: 2021-06-28T14:04:52-04:00
New Revision: 4f5ebfdcd6c9d459e262d1815f49a45bad3cbcfc
URL: https://github.com/llvm/llvm-project/commit/4f5ebfdcd6c9d459e262d1815f49a45bad3cbcfc
DIFF: https://github.com/llvm/llvm-project/commit/4f5ebfdcd6c9d459e262d1815f49a45bad3cbcfc.diff
LOG: [SystemZ][z/OS][libcxx]: fix libcxx test cases failed on ebcdic mode on z/OS
This patch is to fix 2 libcxx test cases, test cases assumed 'a' > 'A' which is not case in z/OS platform on ebcdic mode, modified test cases to compare between upper letters or lower letters, or digits so ordering will be true for all platform.
Differential Revision: https://reviews.llvm.org/D104748
Added:
Modified:
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/lt.pass.cpp
libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/lt.pass.cpp
Removed:
################################################################################
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/lt.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/lt.pass.cpp
index fa14e666e9e90..81a8574eac8bd 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/lt.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/lt.pass.cpp
@@ -19,18 +19,18 @@
int main(int, char**)
{
- assert( std::char_traits<char>::lt('\0', 'A'));
- assert(!std::char_traits<char>::lt('A', '\0'));
+ assert(std::char_traits<char>::lt('\0', 'A') == ('\0' < 'A'));
+ assert(std::char_traits<char>::lt('A', '\0') == ('A' < '\0'));
- assert(!std::char_traits<char>::lt('a', 'a'));
- assert( std::char_traits<char>::lt('A', 'a'));
- assert(!std::char_traits<char>::lt('a', 'A'));
+ assert(std::char_traits<char>::lt('a', 'a') == ('a' < 'a'));
+ assert(std::char_traits<char>::lt('A', 'a') == ('A' < 'a'));
+ assert(std::char_traits<char>::lt('a', 'A') == ('a' < 'A'));
- assert( std::char_traits<char>::lt('a', 'z'));
- assert( std::char_traits<char>::lt('A', 'Z'));
+ assert(std::char_traits<char>::lt('a', 'z') == ('a' < 'z'));
+ assert(std::char_traits<char>::lt('A', 'Z') == ('A' < 'Z'));
- assert( std::char_traits<char>::lt(' ', 'A'));
- assert( std::char_traits<char>::lt('A', '~'));
+ assert(std::char_traits<char>::lt(' ', 'A') == (' ' < 'A'));
+ assert(std::char_traits<char>::lt('A', '~') == ('A' < '~'));
return 0;
}
diff --git a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/lt.pass.cpp b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/lt.pass.cpp
index 15a16b0cd92da..5664692addb41 100644
--- a/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/lt.pass.cpp
+++ b/libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/lt.pass.cpp
@@ -19,8 +19,18 @@
int main(int, char**)
{
- assert(!std::char_traits<wchar_t>::lt(L'a', L'a'));
- assert( std::char_traits<wchar_t>::lt(L'A', L'a'));
+ assert(std::char_traits<wchar_t>::lt(L'\0', L'A') == (L'\0' < L'A'));
+ assert(std::char_traits<wchar_t>::lt(L'A', L'\0') == (L'A' < L'\0'));
+
+ assert(std::char_traits<wchar_t>::lt(L'a', L'a') == (L'a' < L'a'));
+ assert(std::char_traits<wchar_t>::lt(L'A', L'a') == (L'A' < L'a'));
+ assert(std::char_traits<wchar_t>::lt(L'a', L'A') == (L'a' < L'A'));
+
+ assert(std::char_traits<wchar_t>::lt(L'a', L'z') == (L'a' < L'z'));
+ assert(std::char_traits<wchar_t>::lt(L'A', L'Z') == (L'A' < L'Z'));
+
+ assert(std::char_traits<wchar_t>::lt(L' ', L'A') == (L' ' < L'A'));
+ assert(std::char_traits<wchar_t>::lt(L'A', L'~') == (L'A' < L'~'));
return 0;
}
More information about the libcxx-commits
mailing list