From 6e6a67c68550742556705b095bd8a132153ef2e9 Mon Sep 17 00:00:00 2001 From: "S. B. Tam" Date: Thu, 18 Jan 2024 18:58:18 +0800 Subject: [PATCH 1/3] Move libc++'s `ascii` tests to "LIKELY BOGUS TESTS" --- tests/libcxx/expected_results.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/libcxx/expected_results.txt b/tests/libcxx/expected_results.txt index 615c255e33..12371358b4 100644 --- a/tests/libcxx/expected_results.txt +++ b/tests/libcxx/expected_results.txt @@ -712,6 +712,11 @@ std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.ac # Bogus test expects to_address() to SFINAE away for int. std/utilities/memory/pointer.conversion/to_address_without_pointer_traits.pass.cpp FAIL +# libc++'s "ascii" mode considers every code unit to represent a valid printable narrow character. +# We don't support such a mode. +std/utilities/format/format.functions/ascii.pass.cpp FAIL +std/utilities/format/format.functions/escaped_output.ascii.pass.cpp FAIL + # *** LIKELY STL BUGS *** # Not analyzed, likely STL bugs. Various assertions. @@ -947,9 +952,6 @@ std/algorithms/alg.modifying.operations/alg.unique/ranges_unique.pass.cpp:1 SKIP std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp SKIPPED std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp SKIPPED -# Not analyzed. These tests use characters that cannot be represented in legacy character encodings -std/utilities/format/format.functions/ascii.pass.cpp FAIL - # Not analyzed. Failing assert(swaps <= expected). std/algorithms/alg.modifying.operations/alg.rotate/ranges_rotate.pass.cpp FAIL @@ -1029,7 +1031,6 @@ std/ranges/range.adaptors/range.lazy.split/range.lazy.split.inner/iter_swap.pass std/thread/futures/futures.task/futures.task.members/ctor2.compile.pass.cpp FAIL # Not analyzed. MSVC emits truncation warnings, Clang fails a runtime assertion. -std/utilities/format/format.functions/escaped_output.ascii.pass.cpp FAIL std/utilities/format/format.functions/locale-specific_form.pass.cpp FAIL # Not analyzed. From 0d504182db5df5a2fde03ea3c8bb70aea38352d1 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 18 Jan 2024 18:05:54 -0800 Subject: [PATCH 2/3] Address Casey's code review feedback. --- tests/libcxx/expected_results.txt | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/libcxx/expected_results.txt b/tests/libcxx/expected_results.txt index 12371358b4..f55a9cddc2 100644 --- a/tests/libcxx/expected_results.txt +++ b/tests/libcxx/expected_results.txt @@ -712,10 +712,9 @@ std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.ac # Bogus test expects to_address() to SFINAE away for int. std/utilities/memory/pointer.conversion/to_address_without_pointer_traits.pass.cpp FAIL -# libc++'s "ascii" mode considers every code unit to represent a valid printable narrow character. -# We don't support such a mode. -std/utilities/format/format.functions/ascii.pass.cpp FAIL -std/utilities/format/format.functions/escaped_output.ascii.pass.cpp FAIL +# These test libc++'s non-standard "ascii" mode. We should submit a PR to relocate them from tests/std to tests/libcxx. +std/utilities/format/format.functions/ascii.pass.cpp SKIPPED +std/utilities/format/format.functions/escaped_output.ascii.pass.cpp SKIPPED # *** LIKELY STL BUGS *** From 7ab8023f45d7e98867324283db95ffd705ade515 Mon Sep 17 00:00:00 2001 From: "Stephan T. Lavavej" Date: Thu, 18 Jan 2024 18:29:51 -0800 Subject: [PATCH 3/3] Created an LLVM PR. --- tests/libcxx/expected_results.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tests/libcxx/expected_results.txt b/tests/libcxx/expected_results.txt index f55a9cddc2..753bec6e20 100644 --- a/tests/libcxx/expected_results.txt +++ b/tests/libcxx/expected_results.txt @@ -37,6 +37,11 @@ std/utilities/memory/specialized.algorithms/uninitialized.move/uninitialized_mov # LLVM-75611: [libc++] views::take behaves incorrectly for iota_view std/ranges/range.adaptors/range.take/adaptor.pass.cpp FAIL +# LLVM-78661: [libc++][test] Move format.functions ASCII tests to libcxx/test/libcxx +# These test libc++'s non-standard "ascii" mode. +std/utilities/format/format.functions/ascii.pass.cpp SKIPPED +std/utilities/format/format.functions/escaped_output.ascii.pass.cpp SKIPPED + # Non-Standard regex behavior. # "It seems likely that the test is still non-conforming due to how libc++ handles the 'w' character class." std/re/re.traits/lookup_classname.pass.cpp FAIL @@ -712,10 +717,6 @@ std/iterators/iterator.requirements/iterator.concepts/iterator.concept.random.ac # Bogus test expects to_address() to SFINAE away for int. std/utilities/memory/pointer.conversion/to_address_without_pointer_traits.pass.cpp FAIL -# These test libc++'s non-standard "ascii" mode. We should submit a PR to relocate them from tests/std to tests/libcxx. -std/utilities/format/format.functions/ascii.pass.cpp SKIPPED -std/utilities/format/format.functions/escaped_output.ascii.pass.cpp SKIPPED - # *** LIKELY STL BUGS *** # Not analyzed, likely STL bugs. Various assertions.