Skip to content

Conversation

H-G-Hristov
Copy link
Contributor

@H-G-Hristov H-G-Hristov commented Oct 19, 2025

Removed unsupported compilers and simplified the test a bit.

@H-G-Hristov H-G-Hristov requested a review from a team as a code owner October 19, 2025 07:20
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Oct 19, 2025
@llvmbot
Copy link
Member

llvmbot commented Oct 19, 2025

@llvm/pr-subscribers-libcxx

Author: Hristo Hristov (H-G-Hristov)

Changes

Removed unsupported compilers and simplified the test a bit.


Full diff: https://github.com/llvm/llvm-project/pull/164154.diff

1 Files Affected:

  • (modified) libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp (+6-13)
diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp index 881a5d2c6f751..bdf502d140623 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp @@ -6,10 +6,10 @@ // //===----------------------------------------------------------------------===// -// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20 +// REQUIRES: std-at-least-c++23 // These compilers don't support __builtin_is_implicit_lifetime yet. -// UNSUPPORTED: clang-19, gcc-14, gcc-15, apple-clang-16, apple-clang-17 +// UNSUPPORTED: clang-19, gcc-15, apple-clang-17 // <type_traits> @@ -139,13 +139,6 @@ constexpr void test_is_implicit_lifetime() { test_is_implicit_lifetime<T[94], true>(); } -struct ArithmeticTypesTest { - template <class T> - constexpr void operator()() { - test_is_implicit_lifetime<T>(); - } -}; - constexpr bool test() { // Standard fundamental C++ types @@ -155,7 +148,7 @@ constexpr bool test() { test_is_implicit_lifetime<const void, false>(); test_is_implicit_lifetime<volatile void, false>(); - types::for_each(types::arithmetic_types(), ArithmeticTypesTest{}); + types::for_each(types::arithmetic_types(), []<typename T> { test_is_implicit_lifetime<T>(); }); test_is_implicit_lifetime<Enum>(); test_is_implicit_lifetime<SignedEnum>(); @@ -166,7 +159,7 @@ constexpr bool test() { test_is_implicit_lifetime<UnsignedEnumClass>(); test_is_implicit_lifetime<void(), false>(); - test_is_implicit_lifetime<void()&, false>(); + test_is_implicit_lifetime<void() &, false>(); test_is_implicit_lifetime<void() const, false>(); test_is_implicit_lifetime<void (&)(), false>(); test_is_implicit_lifetime<void (*)(), true>(); @@ -177,8 +170,8 @@ constexpr bool test() { test_is_implicit_lifetime<int EmptyStruct::*, true>(); // Pointer-to-member test_is_implicit_lifetime<int (EmptyStruct::*)(), true>(); test_is_implicit_lifetime<int (EmptyStruct::*)() const, true>(); - test_is_implicit_lifetime<int (EmptyStruct::*)()&, true>(); - test_is_implicit_lifetime<int (EmptyStruct::*)()&&, true>(); + test_is_implicit_lifetime<int (EmptyStruct::*)() &, true>(); + test_is_implicit_lifetime<int (EmptyStruct::*)() &&, true>(); test_is_implicit_lifetime<IncompleteStruct[], true>(); test_is_implicit_lifetime<IncompleteStruct[82], true>(); 
@H-G-Hristov H-G-Hristov force-pushed the hgh/libcxx/simplify-is_implicit_lifetime.pass.cpp branch 2 times, most recently from 528cac5 to b1bbc40 Compare October 19, 2025 09:26
Removed unsupported compilers and simplified the test a bit.
@H-G-Hristov H-G-Hristov force-pushed the hgh/libcxx/simplify-is_implicit_lifetime.pass.cpp branch from b1bbc40 to 6438511 Compare October 19, 2025 09:53
@frederick-vs-ja frederick-vs-ja merged commit 21af72d into llvm:main Oct 19, 2025
78 checks passed
@H-G-Hristov H-G-Hristov deleted the hgh/libcxx/simplify-is_implicit_lifetime.pass.cpp branch October 19, 2025 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.

3 participants