From e781e03e40337fba4ed57fcfb257d1d4a5e00e2b Mon Sep 17 00:00:00 2001 From: Louis Dionne Date: Tue, 31 Aug 2021 10:41:13 -0400 Subject: [PATCH] [libc++] Remove workaround for broken __is_trivially_copyable on old GCC All supported versions of GCC now do the right thing. Differential Revision: https://reviews.llvm.org/D108997 --- libcxx/include/type_traits | 6 ------ .../meta.unary.prop/is_trivially_copyable.pass.cpp | 4 ---- 2 files changed, 10 deletions(-) diff --git a/libcxx/include/type_traits b/libcxx/include/type_traits index b6e1c20bf397..067cfcf10512 100644 --- a/libcxx/include/type_traits +++ b/libcxx/include/type_traits @@ -3708,13 +3708,7 @@ _LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_standard_layout_v // is_trivially_copyable; template struct _LIBCPP_TEMPLATE_VIS is_trivially_copyable -#if __has_feature(is_trivially_copyable) : public integral_constant -#elif _GNUC_VER >= 501 - : public integral_constant::value && __is_trivially_copyable(_Tp)> -#else - : integral_constant::type>::value> -#endif {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp index 38a6b17722c4..4f0d31a30fd4 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp @@ -10,10 +10,6 @@ // is_trivially_copyable -// GCC has not implemented Core 2094 which makes volatile -// qualified types trivially copyable. -// XFAIL: gcc - #include #include #include "test_macros.h"