Skip to content

Commit 4811be8

Browse files
Make the test suite more friendly to Clang 19 (#4912)
Co-authored-by: Stephan T. Lavavej <[email protected]>
1 parent 3e20579 commit 4811be8

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

tests/libcxx/expected_results.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,7 @@ std/depr/depr.c.headers/tgmath_h.pass.cpp:2 FAIL
368368

369369
# LLVM-95311 [clang] __has_unique_object_representations gives inconsistent answer based on instantiation order
370370
# A libc++ product code workaround (using `remove_all_extents_t`) and test coverage were added by LLVM-95314.
371+
# Fixed by LLVM-95432 in Clang 19.
371372
std/utilities/meta/meta.unary/meta.unary.prop/has_unique_object_representations.compile.pass.cpp:2 FAIL
372373

373374

tests/std/tests/P2286R8_text_formatting_range_formatter/test.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,12 @@ struct std::formatter<test::range<Category, Element, IsSized, Diff, IsCommon, Eq
4444

4545
template <class Category, class Element, class CharT>
4646
struct std::formatter<test::proxy_reference<Category, Element>, CharT> {
47+
private:
48+
formatter<remove_cv_t<Element>, CharT> underlying;
49+
4750
public:
4851
constexpr void set_debug_format()
49-
requires requires { this->underlying.set_debug_format(); }
52+
requires requires { underlying.set_debug_format(); }
5053
{
5154
underlying.set_debug_format();
5255
}
@@ -60,9 +63,6 @@ struct std::formatter<test::proxy_reference<Category, Element>, CharT> {
6063
auto format(const test::proxy_reference<Category, Element>& proxy, FormatContext& ctx) const {
6164
return underlying.format(static_cast<Element&>(proxy), ctx);
6265
}
63-
64-
private:
65-
formatter<remove_cv_t<Element>, CharT> underlying;
6666
};
6767

6868
struct FormatAsX {};

tests/std/tests/P2374R4_views_cartesian_product_recommended_practices/test.compile.pass.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,11 @@ constexpr void check_single_view() {
175175

176176
enum class CheckConstAdaptor : bool { no, yes };
177177

178+
#ifdef __clang__ // TRANSITION, LLVM-104189
179+
template <template <class...> class SimpleRangeAdaptor, CheckConstAdaptor CCA, class... Args>
180+
#else // ^^^ workaround / no workaround vvv
178181
template <template <class, class...> class SimpleRangeAdaptor, CheckConstAdaptor CCA, class... Args>
182+
#endif // ^^^ no workaround ^^^
179183
constexpr void check_simple_range_adaptor() {
180184
using ValTy = tuple<int>; // for ranges::elements_view
181185
using V1 = SimpleRangeAdaptor<all_t<array<ValTy, 100>>, Args...>; // owning_view

0 commit comments

Comments
 (0)