[libcxx-commits] [PATCH] D118923: [libc++] Remove unused code paths for non-existent builtins
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Feb 4 12:51:59 PST 2022
This revision was automatically updated to reflect the committed changes.
Closed by commit rGabcbe87311db: [libc++] Remove unused code paths for non-existent builtins (authored by ldionne).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118923/new/
https://reviews.llvm.org/D118923
Files:
libcxx/include/type_traits
Index: libcxx/include/type_traits
===================================================================
--- libcxx/include/type_traits
+++ libcxx/include/type_traits
@@ -634,67 +634,28 @@
// remove_const
-#if __has_keyword(__remove_const)
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS remove_const {typedef __remove_const(_Tp) type;};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using remove_const_t = __remove_const(_Tp);
-#endif
-
-#else
-
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_const {typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_const<const _Tp> {typedef _Tp type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using remove_const_t = typename remove_const<_Tp>::type;
#endif
-#endif // __has_keyword(__remove_const)
-
// remove_volatile
-#if __has_keyword(__remove_volatile)
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS remove_volatile {typedef __remove_volatile(_Tp) type;};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using remove_volatile_t = __remove_volatile(_Tp);
-#endif
-
-#else
-
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_volatile {typedef _Tp type;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_volatile<volatile _Tp> {typedef _Tp type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using remove_volatile_t = typename remove_volatile<_Tp>::type;
#endif
-#endif // __has_keyword(__remove_volatile)
-
// remove_cv
-#if __has_keyword(__remove_cv)
-
-template <class _Tp>
-struct _LIBCPP_TEMPLATE_VIS remove_cv {typedef __remove_cv(_Tp) type;};
-
-#if _LIBCPP_STD_VER > 11
-template <class _Tp> using remove_cv_t = __remove_cv(_Tp);
-#endif
-
-#else
-
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_cv
{typedef typename remove_volatile<typename remove_const<_Tp>::type>::type type;};
#if _LIBCPP_STD_VER > 11
template <class _Tp> using remove_cv_t = typename remove_cv<_Tp>::type;
#endif
-#endif // __has_keyword(__remove_cv)
-
// is_void
#if __has_keyword(__is_void)
@@ -1272,13 +1233,6 @@
// remove_reference
-#if __has_keyword(__remove_reference)
-
-template<class _Tp>
-struct _LIBCPP_TEMPLATE_VIS remove_reference { typedef __remove_reference(_Tp) type; };
-
-#else // __has_keyword(__remove_reference)
-
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_reference {typedef _LIBCPP_NODEBUG _Tp type;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_reference<_Tp&> {typedef _LIBCPP_NODEBUG _Tp type;};
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_reference<_Tp&&> {typedef _LIBCPP_NODEBUG _Tp type;};
@@ -1287,8 +1241,6 @@
template <class _Tp> using remove_reference_t = typename remove_reference<_Tp>::type;
#endif
-#endif // __has_keyword(__remove_reference)
-
// add_lvalue_reference
template <class _Tp, bool = __is_referenceable<_Tp>::value> struct __add_lvalue_reference_impl { typedef _LIBCPP_NODEBUG _Tp type; };
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D118923.406080.patch
Type: text/x-patch
Size: 2971 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220204/67199da1/attachment-0001.bin>
More information about the libcxx-commits
mailing list