File tree Expand file tree Collapse file tree 1 file changed +6
-6
lines changed
libcxx/include/__type_traits Expand file tree Collapse file tree 1 file changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -23,12 +23,12 @@ _LIBCPP_BEGIN_NAMESPACE_STD
23
23
24
24
template <class _Tp >
25
25
struct _LIBCPP_TEMPLATE_VIS has_unique_object_representations
26
- // TODO: We work around a Clang bug in __has_unique_object_representations by instantiating the
27
- // builtin on the non-array type first and discarding that . This is issue #95311.
28
- // This workaround can be removed once the bug has been fixed in all supported Clangs.
29
- : public integral_constant< bool ,
30
- (( void )__has_unique_object_representations( remove_all_extents_t <_Tp>),
31
- __has_unique_object_representations (_Tp) )> {};
26
+ // TODO: We work around a Clang and GCC bug in __has_unique_object_representations by using remove_all_extents
27
+ // even though it should not be necessary . This was reported to the compilers:
28
+ // - Clang: https://github.com/llvm/llvm-project/issues/95311
29
+ // - GCC: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115476
30
+ // remove_all_extents_t can be removed once all the compilers we support have fixed this bug.
31
+ : public integral_constant< bool , __has_unique_object_representations(remove_all_extents_t < _Tp> )> {};
32
32
33
33
template <class _Tp >
34
34
inline constexpr bool has_unique_object_representations_v = __has_unique_object_representations(_Tp);
You can’t perform that action at this time.
0 commit comments