From ea972908a3a82c0206f35446963ec53f759fa2c3 Mon Sep 17 00:00:00 2001 From: Marshall Clow Date: Mon, 30 Nov 2015 05:20:00 +0000 Subject: [PATCH] Fix bugs in alignment_of_v, etc. Re-enable the newly added tests git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@254289 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/type_traits | 6 +++--- .../meta.unary.prop.query/alignment_of.pass.cpp | 8 ++++---- .../meta/meta.unary.prop.query/extent.pass.cpp | 16 ++++++++-------- .../meta/meta.unary.prop.query/rank.pass.cpp | 8 ++++---- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/include/type_traits b/include/type_traits index 5b7441866..0bd4fd3a9 100644 --- a/include/type_traits +++ b/include/type_traits @@ -1080,7 +1080,7 @@ template struct _LIBCPP_TYPE_VIS_ONLY rank<_Tp[_Np]> : public integral_constant::value + 1> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool rank_v +template _LIBCPP_CONSTEXPR size_t rank_v = rank<_Tp>::value; #endif @@ -1098,7 +1098,7 @@ template struct _LIBCPP_TYPE_VIS_ONLY exte : public integral_constant::value> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool extent_v +template _LIBCPP_CONSTEXPR size_t extent_v = extent<_Tp, _Ip>::value; #endif @@ -1451,7 +1451,7 @@ template struct _LIBCPP_TYPE_VIS_ONLY alignment_of : public integral_constant {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool alignment_of_v +template _LIBCPP_CONSTEXPR size_t alignment_of_v = alignment_of<_Tp>::value; #endif diff --git a/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp b/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp index 4929a2d3e..0f55db647 100644 --- a/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp +++ b/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp @@ -24,10 +24,10 @@ void test_alignment_of() static_assert( std::alignment_of::value == A, ""); static_assert( std::alignment_of::value == A, ""); #if TEST_STD_VER > 14 -// static_assert( std::alignment_of_v == A, ""); -// static_assert( std::alignment_of_v == A, ""); -// static_assert( std::alignment_of_v == A, ""); -// static_assert( std::alignment_of_v == A, ""); + static_assert( std::alignment_of_v == A, ""); + static_assert( std::alignment_of_v == A, ""); + static_assert( std::alignment_of_v == A, ""); + static_assert( std::alignment_of_v == A, ""); #endif } diff --git a/test/std/utilities/meta/meta.unary.prop.query/extent.pass.cpp b/test/std/utilities/meta/meta.unary.prop.query/extent.pass.cpp index 60bf5aee1..39a7c2b59 100644 --- a/test/std/utilities/meta/meta.unary.prop.query/extent.pass.cpp +++ b/test/std/utilities/meta/meta.unary.prop.query/extent.pass.cpp @@ -23,10 +23,10 @@ void test_extent() static_assert((std::extent::value == A), ""); static_assert((std::extent::value == A), ""); #if TEST_STD_VER > 14 -// static_assert((std::extent_v == A), ""); -// static_assert((std::extent_v == A), ""); -// static_assert((std::extent_v == A), ""); -// static_assert((std::extent_v == A), ""); + static_assert((std::extent_v == A), ""); + static_assert((std::extent_v == A), ""); + static_assert((std::extent_v == A), ""); + static_assert((std::extent_v == A), ""); #endif } @@ -38,10 +38,10 @@ void test_extent1() static_assert((std::extent::value == A), ""); static_assert((std::extent::value == A), ""); #if TEST_STD_VER > 14 -// static_assert((std::extent_v == A), ""); -// static_assert((std::extent_v == A), ""); -// static_assert((std::extent_v == A), ""); -// static_assert((std::extent_v == A), ""); + static_assert((std::extent_v == A), ""); + static_assert((std::extent_v == A), ""); + static_assert((std::extent_v == A), ""); + static_assert((std::extent_v == A), ""); #endif } diff --git a/test/std/utilities/meta/meta.unary.prop.query/rank.pass.cpp b/test/std/utilities/meta/meta.unary.prop.query/rank.pass.cpp index 5d062eedf..755269d1d 100644 --- a/test/std/utilities/meta/meta.unary.prop.query/rank.pass.cpp +++ b/test/std/utilities/meta/meta.unary.prop.query/rank.pass.cpp @@ -23,10 +23,10 @@ void test_rank() static_assert( std::rank::value == A, ""); static_assert( std::rank::value == A, ""); #if TEST_STD_VER > 14 -// static_assert( std::rank_v == A, ""); -// static_assert( std::rank_v == A, ""); -// static_assert( std::rank_v == A, ""); -// static_assert( std::rank_v == A, ""); + static_assert( std::rank_v == A, ""); + static_assert( std::rank_v == A, ""); + static_assert( std::rank_v == A, ""); + static_assert( std::rank_v == A, ""); #endif }