0
0
mirror of https://github.com/llvm/llvm-project.git synced 2025-04-21 11:57:00 +00:00

[libc++][type_traits] reference_{constructs|converts}_from_temporary with -Winvalid-specialization tests ()

Addresses comment:
https://github.com/llvm/llvm-project/pull/128649/files#r2022341035

---------

Co-authored-by: Hristo Hristov <zingam@outlook.com>
This commit is contained in:
Hristo Hristov 2025-04-03 23:18:04 +03:00 committed by GitHub
parent daab7d0807
commit b93376f899
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -156,6 +156,12 @@ SPECIALIZE_UTT(is_unbounded_array); // expected-error 2 {{cannot be speciali
# if TEST_STD_VER >= 23
SPECIALIZE_UTT(is_implicit_lifetime); // expected-error 2 {{cannot be specialized}}
SPECIALIZE_UTT(is_scoped_enum); // expected-error 2 {{cannot be specialized}}
# if __has_builtin(__reference_constructs_from_temporary)
SPECIALIZE_BTT(reference_constructs_from_temporary); // expected-error 2 {{cannot be specialized}}
# endif
# if __has_builtin(__reference_converts_from_temporary)
SPECIALIZE_BTT(reference_converts_from_temporary); // expected-error 2 {{cannot be specialized}}
# endif
# endif
# if TEST_STD_VER >= 26
@ -177,8 +183,8 @@ struct std::conditional<true, S, S>; // expected-error {{cannot be specialized}}
template <>
struct std::enable_if<true, S>; // expected-error {{cannot be specialized}}
#if TEST_STD_VER >= 20
# if TEST_STD_VER >= 20
template <>
struct std::integral_constant<S, {}>; // expected-error {{cannot be specialized}}
#endif
# endif
#endif