Cleanup _LIBCPP_HAS_NO_<c++11-feature> in the utilities library

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300635 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier
2017-04-19 00:56:32 +00:00
parent 3e92897754
commit d311b3c55a
29 changed files with 69 additions and 35 deletions

View File

@@ -22,11 +22,11 @@ int main()
static_assert(_5::value == 5, ""); static_assert(_5::value == 5, "");
static_assert((std::is_same<_5::value_type, int>::value), ""); static_assert((std::is_same<_5::value_type, int>::value), "");
static_assert((std::is_same<_5::type, _5>::value), ""); static_assert((std::is_same<_5::type, _5>::value), "");
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
static_assert((_5() == 5), ""); static_assert((_5() == 5), "");
#else
assert(_5() == 5);
#endif #endif
assert(_5() == 5);
#if TEST_STD_VER > 11 #if TEST_STD_VER > 11
static_assert ( _5{}() == 5, "" ); static_assert ( _5{}() == 5, "" );

View File

@@ -7,6 +7,8 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03
// type_traits // type_traits
// aligned_union<size_t Len, class ...Types> // aligned_union<size_t Len, class ...Types>
@@ -17,7 +19,6 @@
int main() int main()
{ {
#ifndef _LIBCPP_HAS_NO_VARIADICS
{ {
typedef std::aligned_union<10, char >::type T1; typedef std::aligned_union<10, char >::type T1;
#if TEST_STD_VER > 11 #if TEST_STD_VER > 11
@@ -90,5 +91,4 @@ int main()
static_assert(std::alignment_of<T1>::value == 4, ""); static_assert(std::alignment_of<T1>::value == 4, "");
static_assert(sizeof(T1) == 4, ""); static_assert(sizeof(T1) == 4, "");
} }
#endif
} }

View File

@@ -16,7 +16,7 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include <test_macros.h> #include "test_macros.h"
int main() int main()
{ {

View File

@@ -16,7 +16,7 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include <test_macros.h> #include "test_macros.h"
int main() int main()
{ {

View File

@@ -20,6 +20,8 @@
#include <type_traits> #include <type_traits>
#include <cassert> #include <cassert>
#include "test_macros.h"
template <class ToDuration, class FromDuration> template <class ToDuration, class FromDuration>
void void
test(const FromDuration& f, const ToDuration& d) test(const FromDuration& f, const ToDuration& d)
@@ -43,7 +45,7 @@ int main()
std::chrono::duration<double, std::ratio<3600> >(7265./3600)); std::chrono::duration<double, std::ratio<3600> >(7265./3600));
test(std::chrono::duration<int, std::ratio<2, 3> >(9), test(std::chrono::duration<int, std::ratio<2, 3> >(9),
std::chrono::duration<int, std::ratio<3, 5> >(10)); std::chrono::duration<int, std::ratio<3, 5> >(10));
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::hours h = std::chrono::duration_cast<std::chrono::hours>(std::chrono::milliseconds(7265000)); constexpr std::chrono::hours h = std::chrono::duration_cast<std::chrono::hours>(std::chrono::milliseconds(7265000));
static_assert(h.count() == 2, ""); static_assert(h.count() == 2, "");

View File

@@ -24,6 +24,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -68,7 +70,7 @@ int main()
assert(s1 == s2); assert(s1 == s2);
assert(!(s1 != s2)); assert(!(s1 != s2));
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::seconds s1(3); constexpr std::chrono::seconds s1(3);
constexpr std::chrono::seconds s2(3); constexpr std::chrono::seconds s2(3);

View File

@@ -34,6 +34,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -92,7 +94,7 @@ int main()
assert( (s1 <= s2)); assert( (s1 <= s2));
assert( (s1 >= s2)); assert( (s1 >= s2));
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::seconds s1(3); constexpr std::chrono::seconds s1(3);
constexpr std::chrono::seconds s2(3); constexpr std::chrono::seconds s2(3);

View File

@@ -19,6 +19,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -26,7 +28,7 @@ int main()
std::chrono::microseconds us = ms; std::chrono::microseconds us = ms;
assert(us.count() == 1000); assert(us.count() == 1000);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::milliseconds ms(1); constexpr std::chrono::milliseconds ms(1);
constexpr std::chrono::microseconds us = ms; constexpr std::chrono::microseconds us = ms;

View File

@@ -19,6 +19,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -26,7 +28,7 @@ int main()
std::chrono::duration<double, std::milli> ms = us; std::chrono::duration<double, std::milli> ms = us;
assert(ms.count() == 1./1000); assert(ms.count() == 1./1000);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::duration<double, std::micro> us(1); constexpr std::chrono::duration<double, std::micro> us(1);
constexpr std::chrono::duration<double, std::milli> ms = us; constexpr std::chrono::duration<double, std::milli> ms = us;

View File

@@ -19,6 +19,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -26,7 +28,7 @@ int main()
std::chrono::duration<double, std::milli> d = i; std::chrono::duration<double, std::milli> d = i;
assert(d.count() == 3000); assert(d.count() == 3000);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::duration<int> i(3); constexpr std::chrono::duration<int> i(3);
constexpr std::chrono::duration<double, std::milli> d = i; constexpr std::chrono::duration<double, std::milli> d = i;

View File

@@ -18,6 +18,7 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
#include "../../rep.h" #include "../../rep.h"
template <class D> template <class D>
@@ -26,7 +27,7 @@ test()
{ {
D d; D d;
assert(d.count() == typename D::rep()); assert(d.count() == typename D::rep());
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
constexpr D d2 = D(); constexpr D d2 = D();
static_assert(d2.count() == typename D::rep(), ""); static_assert(d2.count() == typename D::rep(), "");
#endif #endif

View File

@@ -17,6 +17,7 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
#include "../../rep.h" #include "../../rep.h"
template <class D, class R> template <class D, class R>
@@ -25,7 +26,7 @@ test(R r)
{ {
D d(r); D d(r);
assert(d.count() == r); assert(d.count() == r);
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
constexpr D d2(R(2)); constexpr D d2(R(2));
static_assert(d2.count() == 2, ""); static_assert(d2.count() == 2, "");
#endif #endif

View File

@@ -19,11 +19,13 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
std::chrono::duration<double> d(5); std::chrono::duration<double> d(5);
assert(d.count() == 5); assert(d.count() == 5);
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
constexpr std::chrono::duration<double> d2(5); constexpr std::chrono::duration<double> d2(5);
static_assert(d2.count() == 5, ""); static_assert(d2.count() == 5, "");
#endif #endif

View File

@@ -18,6 +18,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -44,7 +46,7 @@ int main()
std::chrono::duration<double, std::ratio<1, 15> > r = s1 + s2; std::chrono::duration<double, std::ratio<1, 15> > r = s1 + s2;
assert(r.count() == 75); assert(r.count() == 75);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::seconds s1(3); constexpr std::chrono::seconds s1(3);
constexpr std::chrono::seconds s2(5); constexpr std::chrono::seconds s2(5);

View File

@@ -19,6 +19,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -45,7 +47,7 @@ int main()
std::chrono::duration<double, std::ratio<1, 15> > r = s1 - s2; std::chrono::duration<double, std::ratio<1, 15> > r = s1 - s2;
assert(r.count() == -15); assert(r.count() == -15);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::seconds s1(3); constexpr std::chrono::seconds s1(3);
constexpr std::chrono::seconds s2(5); constexpr std::chrono::seconds s2(5);

View File

@@ -19,6 +19,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -41,7 +43,7 @@ int main()
std::chrono::duration<double, std::ratio<3, 5> > s2(5); std::chrono::duration<double, std::ratio<3, 5> > s2(5);
assert(s1 / s2 == 20./3); assert(s1 / s2 == 20./3);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::nanoseconds ns1(15); constexpr std::chrono::nanoseconds ns1(15);
constexpr std::chrono::nanoseconds ns2(5); constexpr std::chrono::nanoseconds ns2(5);

View File

@@ -19,6 +19,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -26,7 +28,7 @@ int main()
ns = ns / 5; ns = ns / 5;
assert(ns.count() == 3); assert(ns.count() == 3);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::nanoseconds ns(15); constexpr std::chrono::nanoseconds ns(15);
constexpr std::chrono::nanoseconds ns2 = ns / 5; constexpr std::chrono::nanoseconds ns2 = ns / 5;

View File

@@ -19,6 +19,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -39,7 +41,7 @@ int main()
std::chrono::duration<int, std::ratio<1, 15> > r = s1 % s2; std::chrono::duration<int, std::ratio<1, 15> > r = s1 % s2;
assert(r.count() == 24); assert(r.count() == 24);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::nanoseconds ns1(15); constexpr std::chrono::nanoseconds ns1(15);
constexpr std::chrono::nanoseconds ns2(6); constexpr std::chrono::nanoseconds ns2(6);

View File

@@ -19,6 +19,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -26,7 +28,7 @@ int main()
ns = ns % 6; ns = ns % 6;
assert(ns.count() == 3); assert(ns.count() == 3);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::nanoseconds ns(15); constexpr std::chrono::nanoseconds ns(15);
constexpr std::chrono::nanoseconds ns2 = ns % 6; constexpr std::chrono::nanoseconds ns2 = ns % 6;

View File

@@ -24,6 +24,8 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
int main() int main()
{ {
{ {
@@ -33,7 +35,7 @@ int main()
ns = 6 * ns; ns = 6 * ns;
assert(ns.count() == 90); assert(ns.count() == 90);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
constexpr std::chrono::nanoseconds ns(3); constexpr std::chrono::nanoseconds ns(3);
constexpr std::chrono::nanoseconds ns2 = ns * 5; constexpr std::chrono::nanoseconds ns2 = ns * 5;

View File

@@ -17,6 +17,7 @@
#include <limits> #include <limits>
#include <cassert> #include <cassert>
#include "test_macros.h"
#include "../../rep.h" #include "../../rep.h"
template <class D> template <class D>
@@ -27,7 +28,7 @@ void test()
Rep max_rep = std::chrono::duration_values<Rep>::max(); Rep max_rep = std::chrono::duration_values<Rep>::max();
assert(D::max().count() == max_rep); assert(D::max().count() == max_rep);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
typedef typename D::rep Rep; typedef typename D::rep Rep;
constexpr Rep max_rep = std::chrono::duration_values<Rep>::max(); constexpr Rep max_rep = std::chrono::duration_values<Rep>::max();

View File

@@ -17,6 +17,7 @@
#include <limits> #include <limits>
#include <cassert> #include <cassert>
#include "test_macros.h"
#include "../../rep.h" #include "../../rep.h"
template <class D> template <class D>
@@ -27,7 +28,7 @@ void test()
Rep min_rep = std::chrono::duration_values<Rep>::min(); Rep min_rep = std::chrono::duration_values<Rep>::min();
assert(D::min().count() == min_rep); assert(D::min().count() == min_rep);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
typedef typename D::rep Rep; typedef typename D::rep Rep;
constexpr Rep min_rep = std::chrono::duration_values<Rep>::min(); constexpr Rep min_rep = std::chrono::duration_values<Rep>::min();

View File

@@ -16,6 +16,7 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
#include "../../rep.h" #include "../../rep.h"
template <class D> template <class D>
@@ -26,7 +27,7 @@ void test()
Rep zero_rep = std::chrono::duration_values<Rep>::zero(); Rep zero_rep = std::chrono::duration_values<Rep>::zero();
assert(D::zero().count() == zero_rep); assert(D::zero().count() == zero_rep);
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
{ {
typedef typename D::rep Rep; typedef typename D::rep Rep;
constexpr Rep zero_rep = std::chrono::duration_values<Rep>::zero(); constexpr Rep zero_rep = std::chrono::duration_values<Rep>::zero();

View File

@@ -15,6 +15,7 @@
#include <limits> #include <limits>
#include <cassert> #include <cassert>
#include "test_macros.h"
#include "../../rep.h" #include "../../rep.h"
int main() int main()
@@ -25,7 +26,7 @@ int main()
std::numeric_limits<double>::max()); std::numeric_limits<double>::max());
assert(std::chrono::duration_values<Rep>::max() == assert(std::chrono::duration_values<Rep>::max() ==
std::numeric_limits<Rep>::max()); std::numeric_limits<Rep>::max());
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
static_assert(std::chrono::duration_values<int>::max() == static_assert(std::chrono::duration_values<int>::max() ==
std::numeric_limits<int>::max(), ""); std::numeric_limits<int>::max(), "");
static_assert(std::chrono::duration_values<double>::max() == static_assert(std::chrono::duration_values<double>::max() ==

View File

@@ -15,6 +15,7 @@
#include <limits> #include <limits>
#include <cassert> #include <cassert>
#include "test_macros.h"
#include "../../rep.h" #include "../../rep.h"
int main() int main()
@@ -25,7 +26,7 @@ int main()
std::numeric_limits<double>::lowest()); std::numeric_limits<double>::lowest());
assert(std::chrono::duration_values<Rep>::min() == assert(std::chrono::duration_values<Rep>::min() ==
std::numeric_limits<Rep>::lowest()); std::numeric_limits<Rep>::lowest());
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
static_assert(std::chrono::duration_values<int>::min() == static_assert(std::chrono::duration_values<int>::min() ==
std::numeric_limits<int>::lowest(), ""); std::numeric_limits<int>::lowest(), "");
static_assert(std::chrono::duration_values<double>::min() == static_assert(std::chrono::duration_values<double>::min() ==

View File

@@ -14,13 +14,14 @@
#include <chrono> #include <chrono>
#include <cassert> #include <cassert>
#include "test_macros.h"
#include "../../rep.h" #include "../../rep.h"
int main() int main()
{ {
assert(std::chrono::duration_values<int>::zero() == 0); assert(std::chrono::duration_values<int>::zero() == 0);
assert(std::chrono::duration_values<Rep>::zero() == 0); assert(std::chrono::duration_values<Rep>::zero() == 0);
#ifndef _LIBCPP_HAS_NO_CONSTEXPR #if TEST_STD_VER >= 11
static_assert(std::chrono::duration_values<int>::zero() == 0, ""); static_assert(std::chrono::duration_values<int>::zero() == 0, "");
static_assert(std::chrono::duration_values<Rep>::zero() == 0, ""); static_assert(std::chrono::duration_values<Rep>::zero() == 0, "");
#endif #endif

View File

@@ -86,7 +86,6 @@ int main()
static_assert(!noexcept(std::tuple<NoExceptDefault, ThrowingDefault>()), ""); static_assert(!noexcept(std::tuple<NoExceptDefault, ThrowingDefault>()), "");
static_assert(!noexcept(std::tuple<ThrowingDefault, ThrowingDefault>()), ""); static_assert(!noexcept(std::tuple<ThrowingDefault, ThrowingDefault>()), "");
} }
#ifndef _LIBCPP_HAS_NO_CONSTEXPR
{ {
constexpr std::tuple<> t; constexpr std::tuple<> t;
} }
@@ -106,5 +105,4 @@ int main()
IllFormedDefault v(0); IllFormedDefault v(0);
std::tuple<IllFormedDefault> t(v); std::tuple<IllFormedDefault> t(v);
} }
#endif
} }

View File

@@ -7,6 +7,8 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03
// <utility> // <utility>
// template <class T1, class T2> struct pair // template <class T1, class T2> struct pair
@@ -42,7 +44,6 @@ public:
int main() int main()
{ {
#ifndef _LIBCPP_HAS_NO_VARIADICS
std::pair<A, B> p(std::piecewise_construct, std::pair<A, B> p(std::piecewise_construct,
std::make_tuple(4, 'a'), std::make_tuple(4, 'a'),
std::make_tuple(3.5, 6u, 2u)); std::make_tuple(3.5, 6u, 2u));
@@ -51,5 +52,4 @@ int main()
assert(p.second.get_d() == 3.5); assert(p.second.get_d() == 3.5);
assert(p.second.get_u1() == 6u); assert(p.second.get_u1() == 6u);
assert(p.second.get_u2() == 2u); assert(p.second.get_u2() == 2u);
#endif
} }

View File

@@ -7,6 +7,8 @@
// //
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03
// <utility> // <utility>
// template <class T1, class T2> struct pair // template <class T1, class T2> struct pair
@@ -21,7 +23,6 @@
int main() int main()
{ {
#ifndef _LIBCPP_HAS_NO_VARIADICS
{ {
typedef std::pair<int, int*> P1; typedef std::pair<int, int*> P1;
typedef std::pair<int*, int> P2; typedef std::pair<int*, int> P2;
@@ -31,5 +32,4 @@ int main()
assert(p3.first == P1(3, nullptr)); assert(p3.first == P1(3, nullptr));
assert(p3.second == P2(nullptr, 4)); assert(p3.second == P2(nullptr, 4));
} }
#endif // _LIBCPP_HAS_NO_VARIADICS
} }