Author: marshall Date: Tue Feb 6 15:13:48 2018 New Revision: 324423 URL: http://llvm.org/viewvc/llvm-project?rev=324423&view=rev Log: Remove more of the std::experimental bits that are now in std::. All the _v type aliases, conjunction/disjunction, apply, etc. See https://libcxx.llvm.org/TS_deprecation.html
Removed: libcxx/trunk/test/libcxx/experimental/utilities/ratio/ libcxx/trunk/test/libcxx/experimental/utilities/syserror/ libcxx/trunk/test/libcxx/experimental/utilities/time/ libcxx/trunk/test/libcxx/experimental/utilities/tuple/ libcxx/trunk/test/std/experimental/utilities/meta/meta.logical/ libcxx/trunk/test/std/experimental/utilities/meta/meta.type.synop/ libcxx/trunk/test/std/experimental/utilities/ratio/ libcxx/trunk/test/std/experimental/utilities/syserror/ libcxx/trunk/test/std/experimental/utilities/time/ libcxx/trunk/test/std/experimental/utilities/tuple/ Modified: libcxx/trunk/include/experimental/chrono libcxx/trunk/include/experimental/ratio libcxx/trunk/include/experimental/system_error libcxx/trunk/include/experimental/tuple libcxx/trunk/include/experimental/type_traits libcxx/trunk/include/module.modulemap libcxx/trunk/test/libcxx/double_include.sh.cpp libcxx/trunk/test/libcxx/min_max_macros.sh.cpp Modified: libcxx/trunk/include/experimental/chrono URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/chrono?rev=324423&r1=324422&r2=324423&view=diff ============================================================================== --- libcxx/trunk/include/experimental/chrono (original) +++ libcxx/trunk/include/experimental/chrono Tue Feb 6 15:13:48 2018 @@ -8,52 +8,4 @@ // //===----------------------------------------------------------------------===// -#ifndef _LIBCPP_EXPERIMENTAL_CHRONO -#define _LIBCPP_EXPERIMENTAL_CHRONO - -/** - experimental/chrono synopsis - -// C++1y - -#include <chrono> - -namespace std { -namespace chrono { -namespace experimental { -inline namespace fundamentals_v1 { - - // See C++14 20.12.4, customization traits - template <class Rep> constexpr bool treat_as_floating_point_v - = treat_as_floating_point<Rep>::value; - -} // namespace fundamentals_v1 -} // namespace experimental -} // namespace chrono -} // namespace std - - */ - -#include <experimental/__config> -#include <chrono> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -#pragma GCC system_header -#endif - -#if _LIBCPP_STD_VER > 11 - -_LIBCPP_BEGIN_NAMESPACE_CHRONO_LFTS - -#ifndef _LIBCPP_HAS_NO_VARIABLE_TEMPLATES - -template <class _Rep> _LIBCPP_CONSTEXPR bool treat_as_floating_point_v - = treat_as_floating_point<_Rep>::value; - -#endif /* _LIBCPP_HAS_NO_VARIABLE_TEMPLATES */ - -_LIBCPP_END_NAMESPACE_CHRONO_LFTS - -#endif /* _LIBCPP_STD_VER > 11 */ - -#endif /* _LIBCPP_EXPERIMENTAL_CHRONO */ +#error "<experimental/chrono> has been removed. Use <chrono> instead." Modified: libcxx/trunk/include/experimental/ratio URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/ratio?rev=324423&r1=324422&r2=324423&view=diff ============================================================================== --- libcxx/trunk/include/experimental/ratio (original) +++ libcxx/trunk/include/experimental/ratio Tue Feb 6 15:13:48 2018 @@ -8,70 +8,4 @@ // //===----------------------------------------------------------------------===// -#ifndef _LIBCPP_EXPERIMENTAL_RATIO -#define _LIBCPP_EXPERIMENTAL_RATIO - -/** - experimental/ratio synopsis - C++1y -#include <ratio> - -namespace std { -namespace experimental { -inline namespace fundamentals_v1 { - - // See C++14 20.11.5, ratio comparison - template <class R1, class R2> constexpr bool ratio_equal_v - = ratio_equal<R1, R2>::value; - template <class R1, class R2> constexpr bool ratio_not_equal_v - = ratio_not_equal<R1, R2>::value; - template <class R1, class R2> constexpr bool ratio_less_v - = ratio_less<R1, R2>::value; - template <class R1, class R2> constexpr bool ratio_less_equal_v - = ratio_less_equal<R1, R2>::value; - template <class R1, class R2> constexpr bool ratio_greater_v - = ratio_greater<R1, R2>::value; - template <class R1, class R2> constexpr bool ratio_greater_equal_v - = ratio_greater_equal<R1, R2>::value; - -} // namespace fundamentals_v1 -} // namespace experimental -} // namespace std - -*/ - -#include <experimental/__config> - -#if _LIBCPP_STD_VER > 11 - -#include <ratio> - -_LIBCPP_BEGIN_NAMESPACE_LFTS - -#ifndef _LIBCPP_HAS_NO_VARIABLE_TEMPLATES - -template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_equal_v - = ratio_equal<_R1, _R2>::value; - -template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_not_equal_v - = ratio_not_equal<_R1, _R2>::value; - -template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_less_v - = ratio_less<_R1, _R2>::value; - -template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_less_equal_v - = ratio_less_equal<_R1, _R2>::value; - -template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_greater_v - = ratio_greater<_R1, _R2>::value; - -template <class _R1, class _R2> _LIBCPP_CONSTEXPR bool ratio_greater_equal_v - = ratio_greater_equal<_R1, _R2>::value; - -#endif /* _LIBCPP_HAS_NO_VARIABLE_TEMPLATES */ - -_LIBCPP_END_NAMESPACE_LFTS - -#endif /* _LIBCPP_STD_VER > 11 */ - -#endif // _LIBCPP_EXPERIMENTAL_RATIO +#error "<experimental/ratio> has been removed. Use <ratio> instead." Modified: libcxx/trunk/include/experimental/system_error URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/system_error?rev=324423&r1=324422&r2=324423&view=diff ============================================================================== --- libcxx/trunk/include/experimental/system_error (original) +++ libcxx/trunk/include/experimental/system_error Tue Feb 6 15:13:48 2018 @@ -8,56 +8,4 @@ // //===----------------------------------------------------------------------===// -#ifndef _LIBCPP_EXPERIMENTAL_SYSTEM_ERROR -#define _LIBCPP_EXPERIMENTAL_SYSTEM_ERROR - -/** - experimental/system_error synopsis - -// C++1y - -#include <system_error> - -namespace std { -namespace experimental { -inline namespace fundamentals_v1 { - - // See C++14 19.5, System error support - template <class T> constexpr bool is_error_code_enum_v - = is_error_code_enum<T>::value; - template <class T> constexpr bool is_error_condition_enum_v - = is_error_condition_enum<T>::value; - -} // namespace fundamentals_v1 -} // namespace experimental -} // namespace std - -*/ - -#include <experimental/__config> - -#if _LIBCPP_STD_VER > 11 - -#include <system_error> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -#pragma GCC system_header -#endif - -_LIBCPP_BEGIN_NAMESPACE_LFTS - -#ifndef _LIBCPP_HAS_NO_VARIABLE_TEMPLATES - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_error_code_enum_v - = is_error_code_enum<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_error_condition_enum_v - = is_error_condition_enum<_Tp>::value; - -#endif /* _LIBCPP_HAS_NO_VARIABLE_TEMPLATES */ - -_LIBCPP_END_NAMESPACE_LFTS - -#endif /* _LIBCPP_STD_VER > 11 */ - -#endif /* _LIBCPP_EXPERIMENTAL_SYSTEM_ERROR */ +#error "<experimental/system_error> has been removed. Use <system_error> instead." Modified: libcxx/trunk/include/experimental/tuple URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/tuple?rev=324423&r1=324422&r2=324423&view=diff ============================================================================== --- libcxx/trunk/include/experimental/tuple (original) +++ libcxx/trunk/include/experimental/tuple Tue Feb 6 15:13:48 2018 @@ -8,75 +8,4 @@ // //===----------------------------------------------------------------------===// -#ifndef _LIBCPP_EXPERIMENTAL_TUPLE -#define _LIBCPP_EXPERIMENTAL_TUPLE - -/* - experimental/tuple synopsis - -// C++1y - -#include <tuple> - -namespace std { -namespace experimental { -inline namespace fundamentals_v1 { - - // See C++14 20.4.2.5, tuple helper classes - template <class T> constexpr size_t tuple_size_v - = tuple_size<T>::value; - - // 3.2.2, Calling a function with a tuple of arguments - template <class F, class Tuple> - constexpr decltype(auto) apply(F&& f, Tuple&& t); - -} // namespace fundamentals_v1 -} // namespace experimental -} // namespace std - - */ - -# include <experimental/__config> - -#if _LIBCPP_STD_VER > 11 - -# include <tuple> -# include <utility> -# include <__functional_base> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -#pragma GCC system_header -#endif - -_LIBCPP_BEGIN_NAMESPACE_LFTS - -#ifndef _LIBCPP_HAS_NO_VARIABLE_TEMPLATES -template <class _Tp> -_LIBCPP_CONSTEXPR size_t tuple_size_v = tuple_size<_Tp>::value; -#endif - -template <class _Fn, class _Tuple, size_t ..._Id> -inline _LIBCPP_INLINE_VISIBILITY -_LIBCPP_CONSTEXPR_AFTER_CXX11 -decltype(auto) __apply_tuple_impl(_Fn && __f, _Tuple && __t, - integer_sequence<size_t, _Id...>) { - return _VSTD::__invoke_constexpr( - _VSTD::forward<_Fn>(__f), - _VSTD::get<_Id>(_VSTD::forward<_Tuple>(__t))... - ); -} - -template <class _Fn, class _Tuple> -inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 -decltype(auto) apply(_Fn && __f, _Tuple && __t) { - return _VSTD_LFTS::__apply_tuple_impl( - _VSTD::forward<_Fn>(__f), _VSTD::forward<_Tuple>(__t), - make_index_sequence<tuple_size<typename decay<_Tuple>::type>::value>() - ); -} - -_LIBCPP_END_NAMESPACE_LFTS - -#endif /* _LIBCPP_STD_VER > 11 */ - -#endif /* _LIBCPP_EXPERIMENTAL_TUPLE */ +#error "<experimental/tuple> has been removed. Use <tuple> instead." Modified: libcxx/trunk/include/experimental/type_traits URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/type_traits?rev=324423&r1=324422&r2=324423&view=diff ============================================================================== --- libcxx/trunk/include/experimental/type_traits (original) +++ libcxx/trunk/include/experimental/type_traits Tue Feb 6 15:13:48 2018 @@ -21,146 +21,6 @@ namespace std { namespace experimental { inline namespace fundamentals_v1 { - // See C++14 20.10.4.1, primary type categories - template <class T> constexpr bool is_void_v - = is_void<T>::value; - template <class T> constexpr bool is_null_pointer_v - = is_null_pointer<T>::value; - template <class T> constexpr bool is_integral_v - = is_integral<T>::value; - template <class T> constexpr bool is_floating_point_v - = is_floating_point<T>::value; - template <class T> constexpr bool is_array_v - = is_array<T>::value; - template <class T> constexpr bool is_pointer_v - = is_pointer<T>::value; - template <class T> constexpr bool is_lvalue_reference_v - = is_lvalue_reference<T>::value; - template <class T> constexpr bool is_rvalue_reference_v - = is_rvalue_reference<T>::value; - template <class T> constexpr bool is_member_object_pointer_v - = is_member_object_pointer<T>::value; - template <class T> constexpr bool is_member_function_pointer_v - = is_member_function_pointer<T>::value; - template <class T> constexpr bool is_enum_v - = is_enum<T>::value; - template <class T> constexpr bool is_union_v - = is_union<T>::value; - template <class T> constexpr bool is_class_v - = is_class<T>::value; - template <class T> constexpr bool is_function_v - = is_function<T>::value; - - // See C++14 20.10.4.2, composite type categories - template <class T> constexpr bool is_reference_v - = is_reference<T>::value; - template <class T> constexpr bool is_arithmetic_v - = is_arithmetic<T>::value; - template <class T> constexpr bool is_fundamental_v - = is_fundamental<T>::value; - template <class T> constexpr bool is_object_v - = is_object<T>::value; - template <class T> constexpr bool is_scalar_v - = is_scalar<T>::value; - template <class T> constexpr bool is_compound_v - = is_compound<T>::value; - template <class T> constexpr bool is_member_pointer_v - = is_member_pointer<T>::value; - - // See C++14 20.10.4.3, type properties - template <class T> constexpr bool is_const_v - = is_const<T>::value; - template <class T> constexpr bool is_volatile_v - = is_volatile<T>::value; - template <class T> constexpr bool is_trivial_v - = is_trivial<T>::value; - template <class T> constexpr bool is_trivially_copyable_v - = is_trivially_copyable<T>::value; - template <class T> constexpr bool is_standard_layout_v - = is_standard_layout<T>::value; - template <class T> constexpr bool is_pod_v - = is_pod<T>::value; - template <class T> constexpr bool is_literal_type_v - = is_literal_type<T>::value; - template <class T> constexpr bool is_empty_v - = is_empty<T>::value; - template <class T> constexpr bool is_polymorphic_v - = is_polymorphic<T>::value; - template <class T> constexpr bool is_abstract_v - = is_abstract<T>::value; - template <class T> constexpr bool is_final_v - = is_final<T>::value; - template <class T> constexpr bool is_signed_v - = is_signed<T>::value; - template <class T> constexpr bool is_unsigned_v - = is_unsigned<T>::value; - template <class T, class... Args> constexpr bool is_constructible_v - = is_constructible<T, Args...>::value; - template <class T> constexpr bool is_default_constructible_v - = is_default_constructible<T>::value; - template <class T> constexpr bool is_copy_constructible_v - = is_copy_constructible<T>::value; - template <class T> constexpr bool is_move_constructible_v - = is_move_constructible<T>::value; - template <class T, class U> constexpr bool is_assignable_v - = is_assignable<T, U>::value; - template <class T> constexpr bool is_copy_assignable_v - = is_copy_assignable<T>::value; - template <class T> constexpr bool is_move_assignable_v - = is_move_assignable<T>::value; - template <class T> constexpr bool is_destructible_v - = is_destructible<T>::value; - template <class T, class... Args> constexpr bool is_trivially_constructible_v - = is_trivially_constructible<T, Args...>::value; - template <class T> constexpr bool is_trivially_default_constructible_v - = is_trivially_default_constructible<T>::value; - template <class T> constexpr bool is_trivially_copy_constructible_v - = is_trivially_copy_constructible<T>::value; - template <class T> constexpr bool is_trivially_move_constructible_v - = is_trivially_move_constructible<T>::value; - template <class T, class U> constexpr bool is_trivially_assignable_v - = is_trivially_assignable<T, U>::value; - template <class T> constexpr bool is_trivially_copy_assignable_v - = is_trivially_copy_assignable<T>::value; - template <class T> constexpr bool is_trivially_move_assignable_v - = is_trivially_move_assignable<T>::value; - template <class T> constexpr bool is_trivially_destructible_v - = is_trivially_destructible<T>::value; - template <class T, class... Args> constexpr bool is_nothrow_constructible_v - = is_nothrow_constructible<T, Args...>::value; - template <class T> constexpr bool is_nothrow_default_constructible_v - = is_nothrow_default_constructible<T>::value; - template <class T> constexpr bool is_nothrow_copy_constructible_v - = is_nothrow_copy_constructible<T>::value; - template <class T> constexpr bool is_nothrow_move_constructible_v - = is_nothrow_move_constructible<T>::value; - template <class T, class U> constexpr bool is_nothrow_assignable_v - = is_nothrow_assignable<T, U>::value; - template <class T> constexpr bool is_nothrow_copy_assignable_v - = is_nothrow_copy_assignable<T>::value; - template <class T> constexpr bool is_nothrow_move_assignable_v - = is_nothrow_move_assignable<T>::value; - template <class T> constexpr bool is_nothrow_destructible_v - = is_nothrow_destructible<T>::value; - template <class T> constexpr bool has_virtual_destructor_v - = has_virtual_destructor<T>::value; - - // See C++14 20.10.5, type property queries - template <class T> constexpr size_t alignment_of_v - = alignment_of<T>::value; - template <class T> constexpr size_t rank_v - = rank<T>::value; - template <class T, unsigned I = 0> constexpr size_t extent_v - = extent<T, I>::value; - - // See C++14 20.10.6, type relations - template <class T, class U> constexpr bool is_same_v - = is_same<T, U>::value; - template <class Base, class Derived> constexpr bool is_base_of_v - = is_base_of<Base, Derived>::value; - template <class From, class To> constexpr bool is_convertible_v - = is_convertible<From, To>::value; - // 3.3.2, Other type transformations template <class> class invocation_type; // not defined template <class F, class... ArgTypes> class invocation_type<F(ArgTypes...)>; @@ -172,14 +32,6 @@ inline namespace fundamentals_v1 { template <class T> using raw_invocation_type_t = typename raw_invocation_type<T>::type; - // 3.3.3, Logical operator traits - template<class... B> struct conjunction; - template<class... B> constexpr bool conjunction_v = conjunction<B...>::value; - template<class... B> struct disjunction; - template<class... B> constexpr bool disjunction_v = disjunction<B...>::value; - template<class B> struct negation; - template<class B> constexpr bool negation_v = negation<B>::value; - // 3.3.4, Detection idiom template <class...> using void_t = void; @@ -229,215 +81,6 @@ inline namespace fundamentals_v1 { _LIBCPP_BEGIN_NAMESPACE_LFTS -#ifndef _LIBCPP_HAS_NO_VARIABLE_TEMPLATES - -// C++14 20.10.4.1, primary type categories - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_void_v - = is_void<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_null_pointer_v - = is_null_pointer<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_integral_v - = is_integral<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_floating_point_v - = is_floating_point<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_array_v - = is_array<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_pointer_v - = is_pointer<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_lvalue_reference_v - = is_lvalue_reference<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_rvalue_reference_v - = is_rvalue_reference<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_member_object_pointer_v - = is_member_object_pointer<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_member_function_pointer_v - = is_member_function_pointer<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_enum_v - = is_enum<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_union_v - = is_union<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_class_v - = is_class<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_function_v - = is_function<_Tp>::value; - -// C++14 20.10.4.2, composite type categories - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_reference_v - = is_reference<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_arithmetic_v - = is_arithmetic<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_fundamental_v - = is_fundamental<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_object_v - = is_object<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_scalar_v - = is_scalar<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_compound_v - = is_compound<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_member_pointer_v - = is_member_pointer<_Tp>::value; - -// C++14 20.10.4.3, type properties - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_const_v - = is_const<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_volatile_v - = is_volatile<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_trivial_v - = is_trivial<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_trivially_copyable_v - = is_trivially_copyable<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_standard_layout_v - = is_standard_layout<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_pod_v - = is_pod<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_literal_type_v - = is_literal_type<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_empty_v - = is_empty<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_polymorphic_v - = is_polymorphic<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_abstract_v - = is_abstract<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_final_v - = is_final<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_signed_v - = is_signed<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_unsigned_v - = is_unsigned<_Tp>::value; - -template <class _Tp, class ..._Ts> _LIBCPP_CONSTEXPR bool is_constructible_v - = is_constructible<_Tp, _Ts...>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_default_constructible_v - = is_default_constructible<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_copy_constructible_v - = is_copy_constructible<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_move_constructible_v - = is_move_constructible<_Tp>::value; - -template <class _Tp, class _Up> _LIBCPP_CONSTEXPR bool is_assignable_v - = is_assignable<_Tp, _Up>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_copy_assignable_v - = is_copy_assignable<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_move_assignable_v - = is_move_assignable<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_destructible_v - = is_destructible<_Tp>::value; - -template <class _Tp, class ..._Ts> _LIBCPP_CONSTEXPR bool is_trivially_constructible_v - = is_trivially_constructible<_Tp, _Ts...>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_trivially_default_constructible_v - = is_trivially_default_constructible<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_trivially_copy_constructible_v - = is_trivially_copy_constructible<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_trivially_move_constructible_v - = is_trivially_move_constructible<_Tp>::value; - -template <class _Tp, class _Up> _LIBCPP_CONSTEXPR bool is_trivially_assignable_v - = is_trivially_assignable<_Tp, _Up>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_trivially_copy_assignable_v - = is_trivially_copy_assignable<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_trivially_move_assignable_v - = is_trivially_move_assignable<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_trivially_destructible_v - = is_trivially_destructible<_Tp>::value; - -template <class _Tp, class ..._Ts> _LIBCPP_CONSTEXPR bool is_nothrow_constructible_v - = is_nothrow_constructible<_Tp, _Ts...>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_nothrow_default_constructible_v - = is_nothrow_default_constructible<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_nothrow_copy_constructible_v - = is_nothrow_copy_constructible<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_nothrow_move_constructible_v - = is_nothrow_move_constructible<_Tp>::value; - -template <class _Tp, class _Up> _LIBCPP_CONSTEXPR bool is_nothrow_assignable_v - = is_nothrow_assignable<_Tp, _Up>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_nothrow_copy_assignable_v - = is_nothrow_copy_assignable<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_nothrow_move_assignable_v - = is_nothrow_move_assignable<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool is_nothrow_destructible_v - = is_nothrow_destructible<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR bool has_virtual_destructor_v - = has_virtual_destructor<_Tp>::value; - -// C++14 20.10.5, type properties queries - -template <class _Tp> _LIBCPP_CONSTEXPR size_t alignment_of_v - = alignment_of<_Tp>::value; - -template <class _Tp> _LIBCPP_CONSTEXPR size_t rank_v - = rank<_Tp>::value; - -template <class _Tp, unsigned _Id = 0> _LIBCPP_CONSTEXPR size_t extent_v - = extent<_Tp, _Id>::value; - -// C++14 20.10.6, type relations - -template <class _Tp, class _Up> _LIBCPP_CONSTEXPR bool is_same_v - = is_same<_Tp, _Up>::value; - -template <class _Tp, class _Up> _LIBCPP_CONSTEXPR bool is_base_of_v - = is_base_of<_Tp, _Up>::value; - -template <class _Tp, class _Up> _LIBCPP_CONSTEXPR bool is_convertible_v - = is_convertible<_Tp, _Up>::value; - -#endif /* _LIBCPP_HAS_NO_VARIABLE_TEMPLATES */ - // 3.3.2, Other type transformations /* template <class> @@ -459,24 +102,6 @@ template <class _Tp> using raw_invocation_type_t = typename raw_invocation_type<_Tp>::type; */ -// 3.3.3, Logical operator traits -template <class...> using void_t = void; - -template <class... _Args> -struct conjunction : _VSTD::__and_<_Args...> {}; -template <class... _Args> -_LIBCPP_CONSTEXPR bool conjunction_v = conjunction<_Args...>::value; - -template <class... _Args> -struct disjunction : _VSTD::__or_<_Args...> {}; -template <class... _Args> -_LIBCPP_CONSTEXPR bool disjunction_v = disjunction<_Args...>::value; - -template <class _Tp> -struct negation : _VSTD::__not_<_Tp> {}; -template<class _Tp> -_LIBCPP_CONSTEXPR bool negation_v = negation<_Tp>::value; - // 3.3.4, Detection idiom template <class...> using void_t = void; Modified: libcxx/trunk/include/module.modulemap URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/module.modulemap?rev=324423&r1=324422&r2=324423&view=diff ============================================================================== --- libcxx/trunk/include/module.modulemap (original) +++ libcxx/trunk/include/module.modulemap Tue Feb 6 15:13:48 2018 @@ -493,10 +493,6 @@ module std [system] { header "experimental/algorithm" export * } - module chrono { - header "experimental/chrono" - export * - } module coroutine { requires coroutines header "experimental/coroutine" @@ -542,10 +538,6 @@ module std [system] { header "experimental/propagate_const" export * } - module ratio { - header "experimental/ratio" - export * - } module regex { header "experimental/regex" export * @@ -558,14 +550,6 @@ module std [system] { header "experimental/string" export * } - module system_error { - header "experimental/system_error" - export * - } - module tuple { - header "experimental/tuple" - export * - } module type_traits { header "experimental/type_traits" export * Modified: libcxx/trunk/test/libcxx/double_include.sh.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/double_include.sh.cpp?rev=324423&r1=324422&r2=324423&view=diff ============================================================================== --- libcxx/trunk/test/libcxx/double_include.sh.cpp (original) +++ libcxx/trunk/test/libcxx/double_include.sh.cpp Tue Feb 6 15:13:48 2018 @@ -135,7 +135,6 @@ // experimental headers #if __cplusplus >= 201103L #include <experimental/algorithm> -#include <experimental/chrono> #if defined(__cpp_coroutines) #include <experimental/coroutine> #endif @@ -149,12 +148,9 @@ #include <experimental/map> #include <experimental/memory_resource> #include <experimental/propagate_const> -#include <experimental/ratio> #include <experimental/regex> #include <experimental/set> #include <experimental/string> -#include <experimental/system_error> -#include <experimental/tuple> #include <experimental/type_traits> #include <experimental/unordered_map> #include <experimental/unordered_set> Modified: libcxx/trunk/test/libcxx/min_max_macros.sh.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/min_max_macros.sh.cpp?rev=324423&r1=324422&r2=324423&view=diff ============================================================================== --- libcxx/trunk/test/libcxx/min_max_macros.sh.cpp (original) +++ libcxx/trunk/test/libcxx/min_max_macros.sh.cpp Tue Feb 6 15:13:48 2018 @@ -237,8 +237,6 @@ TEST_MACROS(); #if __cplusplus >= 201103L #include <experimental/algorithm> TEST_MACROS(); -#include <experimental/chrono> -TEST_MACROS(); #include <experimental/deque> TEST_MACROS(); #include <experimental/dynarray> @@ -259,18 +257,12 @@ TEST_MACROS(); TEST_MACROS(); #include <experimental/propagate_const> TEST_MACROS(); -#include <experimental/ratio> -TEST_MACROS(); #include <experimental/regex> TEST_MACROS(); #include <experimental/set> TEST_MACROS(); #include <experimental/string> TEST_MACROS(); -#include <experimental/system_error> -TEST_MACROS(); -#include <experimental/tuple> -TEST_MACROS(); #include <experimental/type_traits> TEST_MACROS(); #include <experimental/unordered_map> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits