diff options
author | Howard Hinnant <hhinnant@apple.com> | 2010-08-22 00:59:46 +0000 |
---|---|---|
committer | Howard Hinnant <hhinnant@apple.com> | 2010-08-22 00:59:46 +0000 |
commit | 94b2dd0998230c758abd92c99d3700c971f7a31a (patch) | |
tree | 1b9f66ba0b4f8fd99fc02a112d4b7a30c4afe0f6 /libcxx/test/utilities/time | |
parent | d9c6c0b583ac1f1efeec3db571a1028a3c9b7a99 (diff) | |
download | bcm5719-llvm-94b2dd0998230c758abd92c99d3700c971f7a31a.tar.gz bcm5719-llvm-94b2dd0998230c758abd92c99d3700c971f7a31a.zip |
Fixing whitespace problems
llvm-svn: 111767
Diffstat (limited to 'libcxx/test/utilities/time')
75 files changed, 1633 insertions, 101 deletions
diff --git a/libcxx/test/utilities/time/clock.h b/libcxx/test/utilities/time/clock.h index d5f4c02cc2f..8490188aca7 100644 --- a/libcxx/test/utilities/time/clock.h +++ b/libcxx/test/utilities/time/clock.h @@ -14,4 +14,4 @@ class Clock static time_point now(); }; -#endif +#endif // CLOCK_H diff --git a/libcxx/test/utilities/time/hours.pass.cpp b/libcxx/test/utilities/time/hours.pass.cpp index f76fdf007d2..387089f8f59 100644 --- a/libcxx/test/utilities/time/hours.pass.cpp +++ b/libcxx/test/utilities/time/hours.pass.cpp @@ -1 +1,27 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// typedef duration<signed integral type of at least 23 bits, ratio<3600>> hours;
#include <chrono>
#include <type_traits>
#include <limits>
int main()
{
typedef std::chrono::hours D;
typedef D::rep Rep;
typedef D::period Period;
static_assert(std::is_signed<Rep>::value, "");
static_assert(std::is_integral<Rep>::value, "");
static_assert(std::numeric_limits<Rep>::digits >= 22, "");
static_assert((std::is_same<Period, std::ratio<3600> >::value), "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// typedef duration<signed integral type of at least 23 bits, ratio<3600>> hours; + +#include <chrono> +#include <type_traits> +#include <limits> + +int main() +{ + typedef std::chrono::hours D; + typedef D::rep Rep; + typedef D::period Period; + static_assert(std::is_signed<Rep>::value, ""); + static_assert(std::is_integral<Rep>::value, ""); + static_assert(std::numeric_limits<Rep>::digits >= 22, ""); + static_assert((std::is_same<Period, std::ratio<3600> >::value), ""); +} diff --git a/libcxx/test/utilities/time/microseconds.pass.cpp b/libcxx/test/utilities/time/microseconds.pass.cpp index f04a2de5df5..368d4127335 100644 --- a/libcxx/test/utilities/time/microseconds.pass.cpp +++ b/libcxx/test/utilities/time/microseconds.pass.cpp @@ -1 +1,27 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// typedef duration<signed integral type of at least 55 bits, micro> microseconds;
#include <chrono>
#include <type_traits>
#include <limits>
int main()
{
typedef std::chrono::microseconds D;
typedef D::rep Rep;
typedef D::period Period;
static_assert(std::is_signed<Rep>::value, "");
static_assert(std::is_integral<Rep>::value, "");
static_assert(std::numeric_limits<Rep>::digits >= 54, "");
static_assert((std::is_same<Period, std::micro>::value), "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// typedef duration<signed integral type of at least 55 bits, micro> microseconds; + +#include <chrono> +#include <type_traits> +#include <limits> + +int main() +{ + typedef std::chrono::microseconds D; + typedef D::rep Rep; + typedef D::period Period; + static_assert(std::is_signed<Rep>::value, ""); + static_assert(std::is_integral<Rep>::value, ""); + static_assert(std::numeric_limits<Rep>::digits >= 54, ""); + static_assert((std::is_same<Period, std::micro>::value), ""); +} diff --git a/libcxx/test/utilities/time/milliseconds.pass.cpp b/libcxx/test/utilities/time/milliseconds.pass.cpp index 6002fa028cb..8c147d9f09e 100644 --- a/libcxx/test/utilities/time/milliseconds.pass.cpp +++ b/libcxx/test/utilities/time/milliseconds.pass.cpp @@ -1 +1,27 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// typedef duration<signed integral type of at least 45 bits, milli> milliseconds;
#include <chrono>
#include <type_traits>
#include <limits>
int main()
{
typedef std::chrono::milliseconds D;
typedef D::rep Rep;
typedef D::period Period;
static_assert(std::is_signed<Rep>::value, "");
static_assert(std::is_integral<Rep>::value, "");
static_assert(std::numeric_limits<Rep>::digits >= 44, "");
static_assert((std::is_same<Period, std::milli>::value), "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// typedef duration<signed integral type of at least 45 bits, milli> milliseconds; + +#include <chrono> +#include <type_traits> +#include <limits> + +int main() +{ + typedef std::chrono::milliseconds D; + typedef D::rep Rep; + typedef D::period Period; + static_assert(std::is_signed<Rep>::value, ""); + static_assert(std::is_integral<Rep>::value, ""); + static_assert(std::numeric_limits<Rep>::digits >= 44, ""); + static_assert((std::is_same<Period, std::milli>::value), ""); +} diff --git a/libcxx/test/utilities/time/minutes.pass.cpp b/libcxx/test/utilities/time/minutes.pass.cpp index afa1b320b5c..96589947654 100644 --- a/libcxx/test/utilities/time/minutes.pass.cpp +++ b/libcxx/test/utilities/time/minutes.pass.cpp @@ -1 +1,27 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// typedef duration<signed integral type of at least 29 bits, ratio< 60>> minutes;
#include <chrono>
#include <type_traits>
#include <limits>
int main()
{
typedef std::chrono::minutes D;
typedef D::rep Rep;
typedef D::period Period;
static_assert(std::is_signed<Rep>::value, "");
static_assert(std::is_integral<Rep>::value, "");
static_assert(std::numeric_limits<Rep>::digits >= 28, "");
static_assert((std::is_same<Period, std::ratio<60> >::value), "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// typedef duration<signed integral type of at least 29 bits, ratio< 60>> minutes; + +#include <chrono> +#include <type_traits> +#include <limits> + +int main() +{ + typedef std::chrono::minutes D; + typedef D::rep Rep; + typedef D::period Period; + static_assert(std::is_signed<Rep>::value, ""); + static_assert(std::is_integral<Rep>::value, ""); + static_assert(std::numeric_limits<Rep>::digits >= 28, ""); + static_assert((std::is_same<Period, std::ratio<60> >::value), ""); +} diff --git a/libcxx/test/utilities/time/nanoseconds.pass.cpp b/libcxx/test/utilities/time/nanoseconds.pass.cpp index 929bd9a15ec..a5eb803f537 100644 --- a/libcxx/test/utilities/time/nanoseconds.pass.cpp +++ b/libcxx/test/utilities/time/nanoseconds.pass.cpp @@ -1 +1,27 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// typedef duration<signed integral type of at least 64 bits, nano> nanoseconds;
#include <chrono>
#include <type_traits>
#include <limits>
int main()
{
typedef std::chrono::nanoseconds D;
typedef D::rep Rep;
typedef D::period Period;
static_assert(std::is_signed<Rep>::value, "");
static_assert(std::is_integral<Rep>::value, "");
static_assert(std::numeric_limits<Rep>::digits >= 63, "");
static_assert((std::is_same<Period, std::nano>::value), "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// typedef duration<signed integral type of at least 64 bits, nano> nanoseconds; + +#include <chrono> +#include <type_traits> +#include <limits> + +int main() +{ + typedef std::chrono::nanoseconds D; + typedef D::rep Rep; + typedef D::period Period; + static_assert(std::is_signed<Rep>::value, ""); + static_assert(std::is_integral<Rep>::value, ""); + static_assert(std::numeric_limits<Rep>::digits >= 63, ""); + static_assert((std::is_same<Period, std::nano>::value), ""); +} diff --git a/libcxx/test/utilities/time/rep.h b/libcxx/test/utilities/time/rep.h index fa949fe2e08..ea4db2d3f21 100644 --- a/libcxx/test/utilities/time/rep.h +++ b/libcxx/test/utilities/time/rep.h @@ -15,4 +15,4 @@ public: Rep& operator/=(Rep x) {data_ /= x.data_; return *this;} }; -#endif +#endif // REP_H diff --git a/libcxx/test/utilities/time/seconds.pass.cpp b/libcxx/test/utilities/time/seconds.pass.cpp index 0022b56a719..d9948bc5b08 100644 --- a/libcxx/test/utilities/time/seconds.pass.cpp +++ b/libcxx/test/utilities/time/seconds.pass.cpp @@ -1 +1,27 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// typedef duration<signed integral type of at least 35 bits > seconds;
#include <chrono>
#include <type_traits>
#include <limits>
int main()
{
typedef std::chrono::seconds D;
typedef D::rep Rep;
typedef D::period Period;
static_assert(std::is_signed<Rep>::value, "");
static_assert(std::is_integral<Rep>::value, "");
static_assert(std::numeric_limits<Rep>::digits >= 34, "");
static_assert((std::is_same<Period, std::ratio<1> >::value), "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// typedef duration<signed integral type of at least 35 bits > seconds; + +#include <chrono> +#include <type_traits> +#include <limits> + +int main() +{ + typedef std::chrono::seconds D; + typedef D::rep Rep; + typedef D::period Period; + static_assert(std::is_signed<Rep>::value, ""); + static_assert(std::is_integral<Rep>::value, ""); + static_assert(std::numeric_limits<Rep>::digits >= 34, ""); + static_assert((std::is_same<Period, std::ratio<1> >::value), ""); +} diff --git a/libcxx/test/utilities/time/time.clock.req/nothing_to_do.pass.cpp b/libcxx/test/utilities/time/time.clock.req/nothing_to_do.pass.cpp index e8db90cbee0..b89f168e9c4 100644 --- a/libcxx/test/utilities/time/time.clock.req/nothing_to_do.pass.cpp +++ b/libcxx/test/utilities/time/time.clock.req/nothing_to_do.pass.cpp @@ -1 +1,12 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
int main()
{
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +int main() +{ +} diff --git a/libcxx/test/utilities/time/time.clock/nothing_to_do.pass.cpp b/libcxx/test/utilities/time/time.clock/nothing_to_do.pass.cpp index e8db90cbee0..b89f168e9c4 100644 --- a/libcxx/test/utilities/time/time.clock/nothing_to_do.pass.cpp +++ b/libcxx/test/utilities/time/time.clock/nothing_to_do.pass.cpp @@ -1 +1,12 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
int main()
{
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +int main() +{ +} diff --git a/libcxx/test/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp b/libcxx/test/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp index 5ad13d0b65f..50923a9f3b0 100644 --- a/libcxx/test/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp +++ b/libcxx/test/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp @@ -1 +1,25 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// high_resolution_clock
// check clock invariants
#include <chrono>
int main()
{
typedef std::chrono::high_resolution_clock C;
static_assert((std::is_same<C::rep, C::duration::rep>::value), "");
static_assert((std::is_same<C::period, C::duration::period>::value), "");
static_assert((std::is_same<C::duration, C::time_point::duration>::value), "");
static_assert(C::is_monotonic || !C::is_monotonic, "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// high_resolution_clock + +// check clock invariants + +#include <chrono> + +int main() +{ + typedef std::chrono::high_resolution_clock C; + static_assert((std::is_same<C::rep, C::duration::rep>::value), ""); + static_assert((std::is_same<C::period, C::duration::period>::value), ""); + static_assert((std::is_same<C::duration, C::time_point::duration>::value), ""); + static_assert(C::is_monotonic || !C::is_monotonic, ""); +} diff --git a/libcxx/test/utilities/time/time.clock/time.clock.hires/now.pass.cpp b/libcxx/test/utilities/time/time.clock/time.clock.hires/now.pass.cpp index d98e07310f6..a0a917bc8a6 100644 --- a/libcxx/test/utilities/time/time.clock/time.clock.hires/now.pass.cpp +++ b/libcxx/test/utilities/time/time.clock/time.clock.hires/now.pass.cpp @@ -1 +1,22 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// high_resolution_clock
// static time_point now();
#include <chrono>
int main()
{
typedef std::chrono::high_resolution_clock C;
C::time_point t1 = C::now();
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// high_resolution_clock + +// static time_point now(); + +#include <chrono> + +int main() +{ + typedef std::chrono::high_resolution_clock C; + C::time_point t1 = C::now(); +} diff --git a/libcxx/test/utilities/time/time.clock/time.clock.monotonic/consistency.pass.cpp b/libcxx/test/utilities/time/time.clock/time.clock.monotonic/consistency.pass.cpp index 63690ff6b57..ac661240e30 100644 --- a/libcxx/test/utilities/time/time.clock/time.clock.monotonic/consistency.pass.cpp +++ b/libcxx/test/utilities/time/time.clock/time.clock.monotonic/consistency.pass.cpp @@ -1 +1,25 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// monotonic_clock
// check clock invariants
#include <chrono>
int main()
{
typedef std::chrono::monotonic_clock C;
static_assert((std::is_same<C::rep, C::duration::rep>::value), "");
static_assert((std::is_same<C::period, C::duration::period>::value), "");
static_assert((std::is_same<C::duration, C::time_point::duration>::value), "");
static_assert(C::is_monotonic, "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// monotonic_clock + +// check clock invariants + +#include <chrono> + +int main() +{ + typedef std::chrono::monotonic_clock C; + static_assert((std::is_same<C::rep, C::duration::rep>::value), ""); + static_assert((std::is_same<C::period, C::duration::period>::value), ""); + static_assert((std::is_same<C::duration, C::time_point::duration>::value), ""); + static_assert(C::is_monotonic, ""); +} diff --git a/libcxx/test/utilities/time/time.clock/time.clock.monotonic/now.pass.cpp b/libcxx/test/utilities/time/time.clock/time.clock.monotonic/now.pass.cpp index 994e9375027..0cb141222de 100644 --- a/libcxx/test/utilities/time/time.clock/time.clock.monotonic/now.pass.cpp +++ b/libcxx/test/utilities/time/time.clock/time.clock.monotonic/now.pass.cpp @@ -1 +1,25 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// monotonic_clock
// static time_point now();
#include <chrono>
#include <cassert>
int main()
{
typedef std::chrono::monotonic_clock C;
C::time_point t1 = C::now();
C::time_point t2 = C::now();
assert(t2 >= t1);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// monotonic_clock + +// static time_point now(); + +#include <chrono> +#include <cassert> + +int main() +{ + typedef std::chrono::monotonic_clock C; + C::time_point t1 = C::now(); + C::time_point t2 = C::now(); + assert(t2 >= t1); +} diff --git a/libcxx/test/utilities/time/time.clock/time.clock.system/consistency.pass.cpp b/libcxx/test/utilities/time/time.clock/time.clock.system/consistency.pass.cpp index f1b43e62664..915504a56bd 100644 --- a/libcxx/test/utilities/time/time.clock/time.clock.system/consistency.pass.cpp +++ b/libcxx/test/utilities/time/time.clock/time.clock.system/consistency.pass.cpp @@ -1 +1,26 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// system_clock
// check clock invariants
#include <chrono>
int main()
{
typedef std::chrono::system_clock C;
static_assert((std::is_same<C::rep, C::duration::rep>::value), "");
static_assert((std::is_same<C::period, C::duration::period>::value), "");
static_assert((std::is_same<C::duration, C::time_point::duration>::value), "");
static_assert((std::is_same<C::time_point::clock, C>::value), "");
static_assert((C::is_monotonic || !C::is_monotonic), "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// system_clock + +// check clock invariants + +#include <chrono> + +int main() +{ + typedef std::chrono::system_clock C; + static_assert((std::is_same<C::rep, C::duration::rep>::value), ""); + static_assert((std::is_same<C::period, C::duration::period>::value), ""); + static_assert((std::is_same<C::duration, C::time_point::duration>::value), ""); + static_assert((std::is_same<C::time_point::clock, C>::value), ""); + static_assert((C::is_monotonic || !C::is_monotonic), ""); +} diff --git a/libcxx/test/utilities/time/time.clock/time.clock.system/from_time_t.pass.cpp b/libcxx/test/utilities/time/time.clock/time.clock.system/from_time_t.pass.cpp index 9b44a1084e1..4404445993a 100644 --- a/libcxx/test/utilities/time/time.clock/time.clock.system/from_time_t.pass.cpp +++ b/libcxx/test/utilities/time/time.clock/time.clock.system/from_time_t.pass.cpp @@ -1 +1,23 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// system_clock
// static time_point from_time_t(time_t t);
#include <chrono>
#include <ctime>
int main()
{
typedef std::chrono::system_clock C;
C::time_point t1 = C::from_time_t(C::to_time_t(C::now()));
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// system_clock + +// static time_point from_time_t(time_t t); + +#include <chrono> +#include <ctime> + +int main() +{ + typedef std::chrono::system_clock C; + C::time_point t1 = C::from_time_t(C::to_time_t(C::now())); +} diff --git a/libcxx/test/utilities/time/time.clock/time.clock.system/now.pass.cpp b/libcxx/test/utilities/time/time.clock/time.clock.system/now.pass.cpp index a4739568040..ef6cb055ae5 100644 --- a/libcxx/test/utilities/time/time.clock/time.clock.system/now.pass.cpp +++ b/libcxx/test/utilities/time/time.clock/time.clock.system/now.pass.cpp @@ -1 +1,22 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// system_clock
// static time_point now();
#include <chrono>
int main()
{
typedef std::chrono::system_clock C;
C::time_point t1 = C::now();
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// system_clock + +// static time_point now(); + +#include <chrono> + +int main() +{ + typedef std::chrono::system_clock C; + C::time_point t1 = C::now(); +} diff --git a/libcxx/test/utilities/time/time.clock/time.clock.system/rep_signed.pass.cpp b/libcxx/test/utilities/time/time.clock/time.clock.system/rep_signed.pass.cpp index d9b574e5341..f971c90afd1 100644 --- a/libcxx/test/utilities/time/time.clock/time.clock.system/rep_signed.pass.cpp +++ b/libcxx/test/utilities/time/time.clock/time.clock.system/rep_signed.pass.cpp @@ -1 +1,23 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// system_clock
// rep should be signed
#include <chrono>
#include <cassert>
int main()
{
assert(std::chrono::system_clock::duration::min() <
std::chrono::system_clock::duration::zero());
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// system_clock + +// rep should be signed + +#include <chrono> +#include <cassert> + +int main() +{ + assert(std::chrono::system_clock::duration::min() < + std::chrono::system_clock::duration::zero()); +} diff --git a/libcxx/test/utilities/time/time.clock/time.clock.system/to_time_t.pass.cpp b/libcxx/test/utilities/time/time.clock/time.clock.system/to_time_t.pass.cpp index f87bd84d727..c307cbe315e 100644 --- a/libcxx/test/utilities/time/time.clock/time.clock.system/to_time_t.pass.cpp +++ b/libcxx/test/utilities/time/time.clock/time.clock.system/to_time_t.pass.cpp @@ -1 +1,23 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// system_clock
// time_t to_time_t(const time_point& t);
#include <chrono>
#include <ctime>
int main()
{
typedef std::chrono::system_clock C;
std::time_t t1 = C::to_time_t(C::now());
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// system_clock + +// time_t to_time_t(const time_point& t); + +#include <chrono> +#include <ctime> + +int main() +{ + typedef std::chrono::system_clock C; + std::time_t t1 = C::to_time_t(C::now()); +} diff --git a/libcxx/test/utilities/time/time.duration/default_ratio.pass.cpp b/libcxx/test/utilities/time/time.duration/default_ratio.pass.cpp index 2d323049616..2e20acfc490 100644 --- a/libcxx/test/utilities/time/time.duration/default_ratio.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/default_ratio.pass.cpp @@ -1 +1,26 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// Test default template arg:
// template <class Rep, class Period = ratio<1>>
// class duration;
#include <chrono>
#include <type_traits>
int main()
{
static_assert((std::is_same<std::chrono::duration<int, std::ratio<1> >,
std::chrono::duration<int> >::value), "");
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// Test default template arg: + +// template <class Rep, class Period = ratio<1>> +// class duration; + +#include <chrono> +#include <type_traits> + +int main() +{ + static_assert((std::is_same<std::chrono::duration<int, std::ratio<1> >, + std::chrono::duration<int> >::value), ""); +} diff --git a/libcxx/test/utilities/time/time.duration/duration.fail.cpp b/libcxx/test/utilities/time/time.duration/duration.fail.cpp index 11a157d3e58..2a879cbf3fa 100644 --- a/libcxx/test/utilities/time/time.duration/duration.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/duration.fail.cpp @@ -1 +1,23 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// If a program instantiates duration with a duration type for the template
// argument Rep a diagnostic is required.
#include <chrono>
int main()
{
typedef std::chrono::duration<std::chrono::milliseconds> D;
D d;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// If a program instantiates duration with a duration type for the template +// argument Rep a diagnostic is required. + +#include <chrono> + +int main() +{ + typedef std::chrono::duration<std::chrono::milliseconds> D; + D d; +} diff --git a/libcxx/test/utilities/time/time.duration/positive_num.fail.cpp b/libcxx/test/utilities/time/time.duration/positive_num.fail.cpp index afb51a5a1fa..430bf0ac728 100644 --- a/libcxx/test/utilities/time/time.duration/positive_num.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/positive_num.fail.cpp @@ -1 +1,22 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// Period::num shall be positive, diagnostic required.
#include <chrono>
int main()
{
typedef std::chrono::duration<int, std::ratio<5, -1> > D;
D d;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// Period::num shall be positive, diagnostic required. + +#include <chrono> + +int main() +{ + typedef std::chrono::duration<int, std::ratio<5, -1> > D; + D d; +} diff --git a/libcxx/test/utilities/time/time.duration/ratio.fail.cpp b/libcxx/test/utilities/time/time.duration/ratio.fail.cpp index e3e104ebf0e..44039e4c233 100644 --- a/libcxx/test/utilities/time/time.duration/ratio.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/ratio.fail.cpp @@ -1 +1,30 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// Period shall be a specialization of ratio, diagnostic required.
#include <chrono>
template <int N, int D = 1>
class Ratio
{
public:
static const int num = N;
static const int den = D;
};
int main()
{
typedef std::chrono::duration<int, Ratio<1> > D;
D d;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// Period shall be a specialization of ratio, diagnostic required. + +#include <chrono> + +template <int N, int D = 1> +class Ratio +{ +public: + static const int num = N; + static const int den = D; +}; + +int main() +{ + typedef std::chrono::duration<int, Ratio<1> > D; + D d; +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_++.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_++.pass.cpp index beaa5cb5f13..41f24dc71db 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_++.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_++.pass.cpp @@ -1 +1,25 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration& operator++();
#include <chrono>
#include <cassert>
int main()
{
std::chrono::hours h(3);
std::chrono::hours& href = ++h;
assert(&href == &h);
assert(h.count() == 4);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration& operator++(); + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::hours h(3); + std::chrono::hours& href = ++h; + assert(&href == &h); + assert(h.count() == 4); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp index 129c0efd712..c596a7eab2b 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp @@ -1 +1,25 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration operator++(int);
#include <chrono>
#include <cassert>
int main()
{
std::chrono::hours h(3);
std::chrono::hours h2 = h++;
assert(h.count() == 4);
assert(h2.count() == 3);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration operator++(int); + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::hours h(3); + std::chrono::hours h2 = h++; + assert(h.count() == 4); + assert(h2.count() == 3); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_+.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_+.pass.cpp index 667b1959f2b..27d11cabbee 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_+.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_+.pass.cpp @@ -1 +1,24 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration operator+() const;
#include <chrono>
#include <cassert>
int main()
{
const std::chrono::minutes m(3);
std::chrono::minutes m2 = +m;
assert(m.count() == m2.count());
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration operator+() const; + +#include <chrono> +#include <cassert> + +int main() +{ + const std::chrono::minutes m(3); + std::chrono::minutes m2 = +m; + assert(m.count() == m2.count()); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp index 244de3c8e83..5038ab75d3c 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp @@ -1 +1,26 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration& operator+=(const duration& d);
#include <chrono>
#include <cassert>
int main()
{
std::chrono::seconds s(3);
s += std::chrono::seconds(2);
assert(s.count() == 5);
s += std::chrono::minutes(2);
assert(s.count() == 125);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration& operator+=(const duration& d); + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::seconds s(3); + s += std::chrono::seconds(2); + assert(s.count() == 5); + s += std::chrono::minutes(2); + assert(s.count() == 125); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_--.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_--.pass.cpp index cb60a618cb4..9966f063ce0 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_--.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_--.pass.cpp @@ -1 +1,25 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration& operator--();
#include <chrono>
#include <cassert>
int main()
{
std::chrono::hours h(3);
std::chrono::hours& href = --h;
assert(&href == &h);
assert(h.count() == 2);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration& operator--(); + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::hours h(3); + std::chrono::hours& href = --h; + assert(&href == &h); + assert(h.count() == 2); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_--int.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_--int.pass.cpp index 6b88ddfdc4c..bbed446d850 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_--int.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_--int.pass.cpp @@ -1 +1,25 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration operator--(int);
#include <chrono>
#include <cassert>
int main()
{
std::chrono::hours h(3);
std::chrono::hours h2 = h--;
assert(h.count() == 2);
assert(h2.count() == 3);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration operator--(int); + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::hours h(3); + std::chrono::hours h2 = h--; + assert(h.count() == 2); + assert(h2.count() == 3); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_-.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_-.pass.cpp index 8ea6e46e363..0148dc77eb1 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_-.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_-.pass.cpp @@ -1 +1,24 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration operator-() const;
#include <chrono>
#include <cassert>
int main()
{
const std::chrono::minutes m(3);
std::chrono::minutes m2 = -m;
assert(m2.count() == -m.count());
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration operator-() const; + +#include <chrono> +#include <cassert> + +int main() +{ + const std::chrono::minutes m(3); + std::chrono::minutes m2 = -m; + assert(m2.count() == -m.count()); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_-=.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_-=.pass.cpp index 87ce32c93aa..eab4d7007c6 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_-=.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_-=.pass.cpp @@ -1 +1,26 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration& operator-=(const duration& d);
#include <chrono>
#include <cassert>
int main()
{
std::chrono::seconds s(3);
s -= std::chrono::seconds(2);
assert(s.count() == 1);
s -= std::chrono::minutes(2);
assert(s.count() == -119);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration& operator-=(const duration& d); + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::seconds s(3); + s -= std::chrono::seconds(2); + assert(s.count() == 1); + s -= std::chrono::minutes(2); + assert(s.count() == -119); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_divide=.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_divide=.pass.cpp index 3371c392dc2..0490ab4efb7 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_divide=.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_divide=.pass.cpp @@ -1 +1,24 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration& operator/=(const rep& rhs);
#include <chrono>
#include <cassert>
int main()
{
std::chrono::nanoseconds ns(15);
ns /= 5;
assert(ns.count() == 3);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration& operator/=(const rep& rhs); + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::nanoseconds ns(15); + ns /= 5; + assert(ns.count() == 3); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_mod=duration.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_mod=duration.pass.cpp index 953e778a981..f1e0c8690b5 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_mod=duration.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_mod=duration.pass.cpp @@ -1 +1,27 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration& operator%=(const duration& rhs)
#include <chrono>
#include <cassert>
int main()
{
std::chrono::microseconds us(11);
std::chrono::microseconds us2(3);
us %= us2;
assert(us.count() == 2);
us %= std::chrono::milliseconds(3);
assert(us.count() == 2);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration& operator%=(const duration& rhs) + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::microseconds us(11); + std::chrono::microseconds us2(3); + us %= us2; + assert(us.count() == 2); + us %= std::chrono::milliseconds(3); + assert(us.count() == 2); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_mod=rep.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_mod=rep.pass.cpp index ab7d7ca82fd..5449aecd396 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_mod=rep.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_mod=rep.pass.cpp @@ -1 +1,24 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration& operator%=(const rep& rhs)
#include <chrono>
#include <cassert>
int main()
{
std::chrono::microseconds us(11);
us %= 3;
assert(us.count() == 2);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration& operator%=(const rep& rhs) + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::microseconds us(11); + us %= 3; + assert(us.count() == 2); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_times=.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_times=.pass.cpp index 869eb7fcb6f..e04887082fe 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_times=.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.arithmetic/op_times=.pass.cpp @@ -1 +1,24 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration& operator*=(const rep& rhs);
#include <chrono>
#include <cassert>
int main()
{
std::chrono::nanoseconds ns(3);
ns *= 5;
assert(ns.count() == 15);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration& operator*=(const rep& rhs); + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::nanoseconds ns(3); + ns *= 5; + assert(ns.count() == 15); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cast/duration_cast.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cast/duration_cast.pass.cpp index acc41bb1aaf..7c5758f249a 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cast/duration_cast.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cast/duration_cast.pass.cpp @@ -1 +1,43 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class ToDuration, class Rep, class Period>
// ToDuration
// duration_cast(const duration<Rep, Period>& d);
#include <chrono>
#include <type_traits>
#include <cassert>
template <class ToDuration, class FromDuration>
void
test(const FromDuration& f, const ToDuration& d)
{
typedef decltype(std::chrono::duration_cast<ToDuration>(f)) R;
static_assert((std::is_same<R, ToDuration>::value), "");
assert(std::chrono::duration_cast<ToDuration>(f) == d);
}
int main()
{
test(std::chrono::milliseconds(7265000), std::chrono::hours(2));
test(std::chrono::milliseconds(7265000), std::chrono::minutes(121));
test(std::chrono::milliseconds(7265000), std::chrono::seconds(7265));
test(std::chrono::milliseconds(7265000), std::chrono::milliseconds(7265000));
test(std::chrono::milliseconds(7265000), std::chrono::microseconds(7265000000LL));
test(std::chrono::milliseconds(7265000), std::chrono::nanoseconds(7265000000000LL));
test(std::chrono::milliseconds(7265000),
std::chrono::duration<double, std::ratio<3600> >(7265./3600));
test(std::chrono::duration<int, std::ratio<2, 3> >(9),
std::chrono::duration<int, std::ratio<3, 5> >(10));
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class ToDuration, class Rep, class Period> +// ToDuration +// duration_cast(const duration<Rep, Period>& d); + +#include <chrono> +#include <type_traits> +#include <cassert> + +template <class ToDuration, class FromDuration> +void +test(const FromDuration& f, const ToDuration& d) +{ + typedef decltype(std::chrono::duration_cast<ToDuration>(f)) R; + static_assert((std::is_same<R, ToDuration>::value), ""); + assert(std::chrono::duration_cast<ToDuration>(f) == d); +} + +int main() +{ + test(std::chrono::milliseconds(7265000), std::chrono::hours(2)); + test(std::chrono::milliseconds(7265000), std::chrono::minutes(121)); + test(std::chrono::milliseconds(7265000), std::chrono::seconds(7265)); + test(std::chrono::milliseconds(7265000), std::chrono::milliseconds(7265000)); + test(std::chrono::milliseconds(7265000), std::chrono::microseconds(7265000000LL)); + test(std::chrono::milliseconds(7265000), std::chrono::nanoseconds(7265000000000LL)); + test(std::chrono::milliseconds(7265000), + std::chrono::duration<double, std::ratio<3600> >(7265./3600)); + test(std::chrono::duration<int, std::ratio<2, 3> >(9), + std::chrono::duration<int, std::ratio<3, 5> >(10)); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cast/toduration.fail.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cast/toduration.fail.cpp index d90502cba4b..bbf7be5cb04 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cast/toduration.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cast/toduration.fail.cpp @@ -1 +1,25 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class ToDuration, class Rep, class Period>
// ToDuration
// duration_cast(const duration<Rep, Period>& d);
// ToDuration shall be an instantiation of duration.
#include <chrono>
int main()
{
std::chrono::duration_cast<int>(std::chrono::milliseconds(3));
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class ToDuration, class Rep, class Period> +// ToDuration +// duration_cast(const duration<Rep, Period>& d); + +// ToDuration shall be an instantiation of duration. + +#include <chrono> + +int main() +{ + std::chrono::duration_cast<int>(std::chrono::milliseconds(3)); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.comparisons/op_equal.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.comparisons/op_equal.pass.cpp index 86d23704954..c850e2b33ca 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.comparisons/op_equal.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.comparisons/op_equal.pass.cpp @@ -1 +1,69 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep1, class Period1, class Rep2, class Period2>
// bool
// operator==(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
// template <class Rep1, class Period1, class Rep2, class Period2>
// bool
// operator!=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
#include <chrono>
#include <cassert>
int main()
{
{
std::chrono::seconds s1(3);
std::chrono::seconds s2(3);
assert(s1 == s2);
assert(!(s1 != s2));
}
{
std::chrono::seconds s1(3);
std::chrono::seconds s2(4);
assert(!(s1 == s2));
assert(s1 != s2);
}
{
std::chrono::milliseconds s1(3);
std::chrono::microseconds s2(3000);
assert(s1 == s2);
assert(!(s1 != s2));
}
{
std::chrono::milliseconds s1(3);
std::chrono::microseconds s2(4000);
assert(!(s1 == s2));
assert(s1 != s2);
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(9);
std::chrono::duration<int, std::ratio<3, 5> > s2(10);
assert(s1 == s2);
assert(!(s1 != s2));
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(10);
std::chrono::duration<int, std::ratio<3, 5> > s2(9);
assert(!(s1 == s2));
assert(s1 != s2);
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(9);
std::chrono::duration<double, std::ratio<3, 5> > s2(10);
assert(s1 == s2);
assert(!(s1 != s2));
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep1, class Period1, class Rep2, class Period2> +// bool +// operator==(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); + +// template <class Rep1, class Period1, class Rep2, class Period2> +// bool +// operator!=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); + +#include <chrono> +#include <cassert> + +int main() +{ + { + std::chrono::seconds s1(3); + std::chrono::seconds s2(3); + assert(s1 == s2); + assert(!(s1 != s2)); + } + { + std::chrono::seconds s1(3); + std::chrono::seconds s2(4); + assert(!(s1 == s2)); + assert(s1 != s2); + } + { + std::chrono::milliseconds s1(3); + std::chrono::microseconds s2(3000); + assert(s1 == s2); + assert(!(s1 != s2)); + } + { + std::chrono::milliseconds s1(3); + std::chrono::microseconds s2(4000); + assert(!(s1 == s2)); + assert(s1 != s2); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(9); + std::chrono::duration<int, std::ratio<3, 5> > s2(10); + assert(s1 == s2); + assert(!(s1 != s2)); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(10); + std::chrono::duration<int, std::ratio<3, 5> > s2(9); + assert(!(s1 == s2)); + assert(s1 != s2); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(9); + std::chrono::duration<double, std::ratio<3, 5> > s2(10); + assert(s1 == s2); + assert(!(s1 != s2)); + } +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.comparisons/op_less.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.comparisons/op_less.pass.cpp index 5d447115da5..cfb86338b10 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.comparisons/op_less.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.comparisons/op_less.pass.cpp @@ -1 +1,91 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep1, class Period1, class Rep2, class Period2>
// bool
// operator< (const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
// template <class Rep1, class Period1, class Rep2, class Period2>
// bool
// operator> (const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
// template <class Rep1, class Period1, class Rep2, class Period2>
// bool
// operator<=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
// template <class Rep1, class Period1, class Rep2, class Period2>
// bool
// operator>=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
#include <chrono>
#include <cassert>
int main()
{
{
std::chrono::seconds s1(3);
std::chrono::seconds s2(3);
assert(!(s1 < s2));
assert(!(s1 > s2));
assert( (s1 <= s2));
assert( (s1 >= s2));
}
{
std::chrono::seconds s1(3);
std::chrono::seconds s2(4);
assert( (s1 < s2));
assert(!(s1 > s2));
assert( (s1 <= s2));
assert(!(s1 >= s2));
}
{
std::chrono::milliseconds s1(3);
std::chrono::microseconds s2(3000);
assert(!(s1 < s2));
assert(!(s1 > s2));
assert( (s1 <= s2));
assert( (s1 >= s2));
}
{
std::chrono::milliseconds s1(3);
std::chrono::microseconds s2(4000);
assert( (s1 < s2));
assert(!(s1 > s2));
assert( (s1 <= s2));
assert(!(s1 >= s2));
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(9);
std::chrono::duration<int, std::ratio<3, 5> > s2(10);
assert(!(s1 < s2));
assert(!(s1 > s2));
assert( (s1 <= s2));
assert( (s1 >= s2));
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(10);
std::chrono::duration<int, std::ratio<3, 5> > s2(9);
assert(!(s1 < s2));
assert( (s1 > s2));
assert(!(s1 <= s2));
assert( (s1 >= s2));
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(9);
std::chrono::duration<double, std::ratio<3, 5> > s2(10);
assert(!(s1 < s2));
assert(!(s1 > s2));
assert( (s1 <= s2));
assert( (s1 >= s2));
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep1, class Period1, class Rep2, class Period2> +// bool +// operator< (const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); + +// template <class Rep1, class Period1, class Rep2, class Period2> +// bool +// operator> (const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); + +// template <class Rep1, class Period1, class Rep2, class Period2> +// bool +// operator<=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); + +// template <class Rep1, class Period1, class Rep2, class Period2> +// bool +// operator>=(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); + +#include <chrono> +#include <cassert> + +int main() +{ + { + std::chrono::seconds s1(3); + std::chrono::seconds s2(3); + assert(!(s1 < s2)); + assert(!(s1 > s2)); + assert( (s1 <= s2)); + assert( (s1 >= s2)); + } + { + std::chrono::seconds s1(3); + std::chrono::seconds s2(4); + assert( (s1 < s2)); + assert(!(s1 > s2)); + assert( (s1 <= s2)); + assert(!(s1 >= s2)); + } + { + std::chrono::milliseconds s1(3); + std::chrono::microseconds s2(3000); + assert(!(s1 < s2)); + assert(!(s1 > s2)); + assert( (s1 <= s2)); + assert( (s1 >= s2)); + } + { + std::chrono::milliseconds s1(3); + std::chrono::microseconds s2(4000); + assert( (s1 < s2)); + assert(!(s1 > s2)); + assert( (s1 <= s2)); + assert(!(s1 >= s2)); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(9); + std::chrono::duration<int, std::ratio<3, 5> > s2(10); + assert(!(s1 < s2)); + assert(!(s1 > s2)); + assert( (s1 <= s2)); + assert( (s1 >= s2)); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(10); + std::chrono::duration<int, std::ratio<3, 5> > s2(9); + assert(!(s1 < s2)); + assert( (s1 > s2)); + assert(!(s1 <= s2)); + assert( (s1 >= s2)); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(9); + std::chrono::duration<double, std::ratio<3, 5> > s2(10); + assert(!(s1 < s2)); + assert(!(s1 > s2)); + assert( (s1 <= s2)); + assert( (s1 >= s2)); + } +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_exact.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_exact.pass.cpp index 356fd1bd8e3..9639ad2b902 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_exact.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_exact.pass.cpp @@ -1 +1,27 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep2, class Period2>
// duration(const duration<Rep2, Period2>& d);
// exact conversions allowed for integral reps
#include <chrono>
#include <cassert>
int main()
{
std::chrono::milliseconds ms(1);
std::chrono::microseconds us = ms;
assert(us.count() == 1000);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep2, class Period2> +// duration(const duration<Rep2, Period2>& d); + +// exact conversions allowed for integral reps + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::milliseconds ms(1); + std::chrono::microseconds us = ms; + assert(us.count() == 1000); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_float_to_int.fail.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_float_to_int.fail.cpp index 5d53a39d594..056096a66b0 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_float_to_int.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_float_to_int.fail.cpp @@ -1 +1,25 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep2, class Period2>
// duration(const duration<Rep2, Period2>& d);
// conversions from floating point to integral durations disallowed
#include <chrono>
int main()
{
std::chrono::duration<double> d;
std::chrono::duration<int> i = d;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep2, class Period2> +// duration(const duration<Rep2, Period2>& d); + +// conversions from floating point to integral durations disallowed + +#include <chrono> + +int main() +{ + std::chrono::duration<double> d; + std::chrono::duration<int> i = d; +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_inexact.fail.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_inexact.fail.cpp index 1e87931a01d..692da387770 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_inexact.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_inexact.fail.cpp @@ -1 +1,25 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep2, class Period2>
// duration(const duration<Rep2, Period2>& d);
// inexact conversions disallowed for integral reps
#include <chrono>
int main()
{
std::chrono::microseconds us(1);
std::chrono::milliseconds ms = us;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep2, class Period2> +// duration(const duration<Rep2, Period2>& d); + +// inexact conversions disallowed for integral reps + +#include <chrono> + +int main() +{ + std::chrono::microseconds us(1); + std::chrono::milliseconds ms = us; +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_inexact.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_inexact.pass.cpp index 1359be9c0eb..39f281a026e 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_inexact.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_inexact.pass.cpp @@ -1 +1,27 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep2, class Period2>
// duration(const duration<Rep2, Period2>& d);
// inexact conversions allowed for floating point reps
#include <chrono>
#include <cassert>
int main()
{
std::chrono::duration<double, std::micro> us(1);
std::chrono::duration<double, std::milli> ms = us;
assert(ms.count() == 1./1000);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep2, class Period2> +// duration(const duration<Rep2, Period2>& d); + +// inexact conversions allowed for floating point reps + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::duration<double, std::micro> us(1); + std::chrono::duration<double, std::milli> ms = us; + assert(ms.count() == 1./1000); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_int_to_float.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_int_to_float.pass.cpp index 32328cac805..a69c3543c2d 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_int_to_float.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/convert_int_to_float.pass.cpp @@ -1 +1,27 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep2, class Period2>
// duration(const duration<Rep2, Period2>& d);
// conversions from integral to floating point durations allowed
#include <chrono>
#include <cassert>
int main()
{
std::chrono::duration<int> i(3);
std::chrono::duration<int> d = i;
assert(d.count() == 3);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep2, class Period2> +// duration(const duration<Rep2, Period2>& d); + +// conversions from integral to floating point durations allowed + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::duration<int> i(3); + std::chrono::duration<int> d = i; + assert(d.count() == 3); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/default.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/default.pass.cpp index 1d86be2ecac..917c4cc744c 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/default.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/default.pass.cpp @@ -1 +1,34 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// duration() = default;
// Rep must be default initialized, not initialized with 0
#include <chrono>
#include <cassert>
#include "../../rep.h"
template <class D>
void
test()
{
D d;
assert(d.count() == typename D::rep());
}
int main()
{
test<std::chrono::duration<Rep> >();
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// duration() = default; + +// Rep must be default initialized, not initialized with 0 + +#include <chrono> +#include <cassert> + +#include "../../rep.h" + +template <class D> +void +test() +{ + D d; + assert(d.count() == typename D::rep()); +} + +int main() +{ + test<std::chrono::duration<Rep> >(); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/rep.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/rep.pass.cpp index 7538605d073..59bbd6e1946 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/rep.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/rep.pass.cpp @@ -1 +1,36 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep2>
// explicit duration(const Rep2& r);
#include <chrono>
#include <cassert>
#include "../../rep.h"
template <class D, class R>
void
test(R r)
{
D d(r);
assert(d.count() == r);
}
int main()
{
test<std::chrono::duration<int> >(5);
test<std::chrono::duration<int, std::ratio<3, 2> > >(5);
test<std::chrono::duration<Rep, std::ratio<3, 2> > >(Rep(3));
test<std::chrono::duration<double, std::ratio<2, 3> > >(5.5);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep2> +// explicit duration(const Rep2& r); + +#include <chrono> +#include <cassert> + +#include "../../rep.h" + +template <class D, class R> +void +test(R r) +{ + D d(r); + assert(d.count() == r); +} + +int main() +{ + test<std::chrono::duration<int> >(5); + test<std::chrono::duration<int, std::ratio<3, 2> > >(5); + test<std::chrono::duration<Rep, std::ratio<3, 2> > >(Rep(3)); + test<std::chrono::duration<double, std::ratio<2, 3> > >(5.5); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/rep01.fail.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/rep01.fail.cpp index da9d886c249..b0d20e1e1a6 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/rep01.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/rep01.fail.cpp @@ -1 +1,26 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep2>
// explicit duration(const Rep2& r);
// test for explicit
#include <chrono>
#include "../../rep.h"
int main()
{
std::chrono::duration<int> d = 1;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep2> +// explicit duration(const Rep2& r); + +// test for explicit + +#include <chrono> + +#include "../../rep.h" + +int main() +{ + std::chrono::duration<int> d = 1; +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/rep02.fail.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/rep02.fail.cpp index 17d532cbadb..72bd7678858 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/rep02.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/rep02.fail.cpp @@ -1 +1,26 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep2>
// explicit duration(const Rep2& r);
// Rep2 shall be implicitly convertible to rep
#include <chrono>
#include "../../rep.h"
int main()
{
std::chrono::duration<Rep> d(1);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep2> +// explicit duration(const Rep2& r); + +// Rep2 shall be implicitly convertible to rep + +#include <chrono> + +#include "../../rep.h" + +int main() +{ + std::chrono::duration<Rep> d(1); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/rep02.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/rep02.pass.cpp index 38844c7811c..c25f04a96c9 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/rep02.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/rep02.pass.cpp @@ -1 +1,26 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep2>
// explicit duration(const Rep2& r);
// construct double with int
#include <chrono>
#include <cassert>
int main()
{
std::chrono::duration<double> d(5);
assert(d.count() == 5);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep2> +// explicit duration(const Rep2& r); + +// construct double with int + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::duration<double> d(5); + assert(d.count() == 5); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.cons/rep03.fail.cpp b/libcxx/test/utilities/time/time.duration/time.duration.cons/rep03.fail.cpp index fb6c83a1d3d..9fa9bdeb8c7 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.cons/rep03.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.cons/rep03.fail.cpp @@ -1 +1,24 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep2>
// explicit duration(const Rep2& r);
// treat_as_floating_point<Rep2>::value shall be false
#include <chrono>
int main()
{
std::chrono::duration<int> d(1.);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep2> +// explicit duration(const Rep2& r); + +// treat_as_floating_point<Rep2>::value shall be false + +#include <chrono> + +int main() +{ + std::chrono::duration<int> d(1.); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_+.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_+.pass.cpp index 168e7a0437a..94605b2d4ca 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_+.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_+.pass.cpp @@ -1 +1,47 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep1, class Period1, class Rep2, class Period2>
// typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type
// operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
#include <chrono>
#include <cassert>
int main()
{
{
std::chrono::seconds s1(3);
std::chrono::seconds s2(5);
std::chrono::seconds r = s1 + s2;
assert(r.count() == 8);
}
{
std::chrono::seconds s1(3);
std::chrono::microseconds s2(5);
std::chrono::microseconds r = s1 + s2;
assert(r.count() == 3000005);
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(3);
std::chrono::duration<int, std::ratio<3, 5> > s2(5);
std::chrono::duration<int, std::ratio<1, 15> > r = s1 + s2;
assert(r.count() == 75);
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(3);
std::chrono::duration<double, std::ratio<3, 5> > s2(5);
std::chrono::duration<double, std::ratio<1, 15> > r = s1 + s2;
assert(r.count() == 75);
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep1, class Period1, class Rep2, class Period2> +// typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type +// operator+(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); + +#include <chrono> +#include <cassert> + +int main() +{ + { + std::chrono::seconds s1(3); + std::chrono::seconds s2(5); + std::chrono::seconds r = s1 + s2; + assert(r.count() == 8); + } + { + std::chrono::seconds s1(3); + std::chrono::microseconds s2(5); + std::chrono::microseconds r = s1 + s2; + assert(r.count() == 3000005); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(3); + std::chrono::duration<int, std::ratio<3, 5> > s2(5); + std::chrono::duration<int, std::ratio<1, 15> > r = s1 + s2; + assert(r.count() == 75); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(3); + std::chrono::duration<double, std::ratio<3, 5> > s2(5); + std::chrono::duration<double, std::ratio<1, 15> > r = s1 + s2; + assert(r.count() == 75); + } +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_-.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_-.pass.cpp index 918f62d5d20..56329ee0c5f 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_-.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_-.pass.cpp @@ -1 +1,47 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep1, class Period1, class Rep2, class Period2>
// typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type
// operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
#include <chrono>
#include <cassert>
int main()
{
{
std::chrono::seconds s1(3);
std::chrono::seconds s2(5);
std::chrono::seconds r = s1 - s2;
assert(r.count() == -2);
}
{
std::chrono::seconds s1(3);
std::chrono::microseconds s2(5);
std::chrono::microseconds r = s1 - s2;
assert(r.count() == 2999995);
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(3);
std::chrono::duration<int, std::ratio<3, 5> > s2(5);
std::chrono::duration<int, std::ratio<1, 15> > r = s1 - s2;
assert(r.count() == -15);
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(3);
std::chrono::duration<double, std::ratio<3, 5> > s2(5);
std::chrono::duration<double, std::ratio<1, 15> > r = s1 - s2;
assert(r.count() == -15);
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep1, class Period1, class Rep2, class Period2> +// typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type +// operator-(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); + +#include <chrono> +#include <cassert> + +int main() +{ + { + std::chrono::seconds s1(3); + std::chrono::seconds s2(5); + std::chrono::seconds r = s1 - s2; + assert(r.count() == -2); + } + { + std::chrono::seconds s1(3); + std::chrono::microseconds s2(5); + std::chrono::microseconds r = s1 - s2; + assert(r.count() == 2999995); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(3); + std::chrono::duration<int, std::ratio<3, 5> > s2(5); + std::chrono::duration<int, std::ratio<1, 15> > r = s1 - s2; + assert(r.count() == -15); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(3); + std::chrono::duration<double, std::ratio<3, 5> > s2(5); + std::chrono::duration<double, std::ratio<1, 15> > r = s1 - s2; + assert(r.count() == -15); + } +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp index 4ad5961fc8a..af50271e6ae 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp @@ -1 +1,43 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep1, class Period1, class Rep2, class Period2>
// typename common_type<Rep1, Rep2>::type
// operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
#include <chrono>
#include <cassert>
int main()
{
{
std::chrono::nanoseconds ns1(15);
std::chrono::nanoseconds ns2(5);
assert(ns1 / ns2 == 3);
}
{
std::chrono::microseconds us1(15);
std::chrono::nanoseconds ns2(5);
assert(us1 / ns2 == 3000);
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(30);
std::chrono::duration<int, std::ratio<3, 5> > s2(5);
assert(s1 / s2 == 6);
}
{
std::chrono::duration<int, std::ratio<2, 3> > s1(30);
std::chrono::duration<double, std::ratio<3, 5> > s2(5);
assert(s1 / s2 == 20./3);
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep1, class Period1, class Rep2, class Period2> +// typename common_type<Rep1, Rep2>::type +// operator/(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); + +#include <chrono> +#include <cassert> + +int main() +{ + { + std::chrono::nanoseconds ns1(15); + std::chrono::nanoseconds ns2(5); + assert(ns1 / ns2 == 3); + } + { + std::chrono::microseconds us1(15); + std::chrono::nanoseconds ns2(5); + assert(us1 / ns2 == 3000); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(30); + std::chrono::duration<int, std::ratio<3, 5> > s2(5); + assert(s1 / s2 == 6); + } + { + std::chrono::duration<int, std::ratio<2, 3> > s1(30); + std::chrono::duration<double, std::ratio<3, 5> > s2(5); + assert(s1 / s2 == 20./3); + } +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.fail.cpp b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.fail.cpp index 244061fb2a0..99336528882 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.fail.cpp @@ -1 +1,26 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep1, class Period, class Rep2>
// duration<typename common_type<Rep1, Rep2>::type, Period>
// operator/(const duration<Rep1, Period>& d, const Rep2& s);
#include <chrono>
#include "../../rep.h"
int main()
{
std::chrono::duration<Rep> d(Rep(15));
d = d / 5;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep1, class Period, class Rep2> +// duration<typename common_type<Rep1, Rep2>::type, Period> +// operator/(const duration<Rep1, Period>& d, const Rep2& s); + +#include <chrono> + +#include "../../rep.h" + +int main() +{ + std::chrono::duration<Rep> d(Rep(15)); + d = d / 5; +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.pass.cpp index 81848a84f10..cdd105b8fff 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.pass.cpp @@ -1 +1,26 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep1, class Period, class Rep2>
// duration<typename common_type<Rep1, Rep2>::type, Period>
// operator/(const duration<Rep1, Period>& d, const Rep2& s);
#include <chrono>
#include <cassert>
int main()
{
std::chrono::nanoseconds ns(15);
ns = ns / 5;
assert(ns.count() == 3);
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep1, class Period, class Rep2> +// duration<typename common_type<Rep1, Rep2>::type, Period> +// operator/(const duration<Rep1, Period>& d, const Rep2& s); + +#include <chrono> +#include <cassert> + +int main() +{ + std::chrono::nanoseconds ns(15); + ns = ns / 5; + assert(ns.count() == 3); +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp index 2e664d9860b..1d61cb3e7f1 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp @@ -1 +1,41 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep1, class Period1, class Rep2, class Period2>
// typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type
// operator%(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs);
#include <chrono>
#include <cassert>
int main()
{
{
std::chrono::nanoseconds ns1(15);
std::chrono::nanoseconds ns2(6);
std::chrono::nanoseconds r = ns1 % ns2;
assert(r.count() == 3);
}
{
std::chrono::microseconds us1(15);
std::chrono::nanoseconds ns2(28);
std::chrono::nanoseconds r = us1 % ns2;
assert(r.count() == 20);
}
{
std::chrono::duration<int, std::ratio<3, 5> > s1(6);
std::chrono::duration<int, std::ratio<2, 3> > s2(3);
std::chrono::duration<int, std::ratio<1, 15> > r = s1 % s2;
assert(r.count() == 24);
}
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep1, class Period1, class Rep2, class Period2> +// typename common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type +// operator%(const duration<Rep1, Period1>& lhs, const duration<Rep2, Period2>& rhs); + +#include <chrono> +#include <cassert> + +int main() +{ + { + std::chrono::nanoseconds ns1(15); + std::chrono::nanoseconds ns2(6); + std::chrono::nanoseconds r = ns1 % ns2; + assert(r.count() == 3); + } + { + std::chrono::microseconds us1(15); + std::chrono::nanoseconds ns2(28); + std::chrono::nanoseconds r = us1 % ns2; + assert(r.count() == 20); + } + { + std::chrono::duration<int, std::ratio<3, 5> > s1(6); + std::chrono::duration<int, std::ratio<2, 3> > s2(3); + std::chrono::duration<int, std::ratio<1, 15> > r = s1 % s2; + assert(r.count() == 24); + } +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.fail.cpp b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.fail.cpp index 9e82fdfc1ff..349c6e8a948 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.fail.cpp @@ -1 +1,26 @@ -//===----------------------------------------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
// <chrono>
// duration
// template <class Rep1, class Period, class Rep2>
// duration<typename common_type<Rep1, Rep2>::type, Period>
// operator%(const duration<Rep1, Period>& d, const Rep2& s)
#include <chrono>
#include "../../rep.h"
int main()
{
std::chrono::duration<Rep> d(Rep(15));
d = d % 5;
}
\ No newline at end of file +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <chrono> + +// duration + +// template <class Rep1, class Period, class Rep2> +// duration<typename common_type<Rep1, Rep2>::type, Period> +// operator%(const duration<Rep1, Period>& d, const Rep2& s) + +#include <chrono> + +#include "../../rep.h" + +int main() +{ + std::chrono::duration<Rep> d(Rep(15)); + d = d % 5; +} diff --git a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp index c27ac5c797d..7d83d9db616 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp @@ -11,12 +11,12 @@ // duration -// template <class Rep1, class Period, class Rep2> -// duration<typename common_type<Rep1, Rep2>::type, Period> +// template <class Rep1, class Period, class Rep2> +// duration<typename common_type<Rep1, Rep2>::type, Period> // operator*(const duration<Rep1, Period>& d, const Rep2& s); -// template <class Rep1, class Period, class Rep2> -// duration<typename common_type<Rep1, Rep2>::type, Period> +// template <class Rep1, class Period, class Rep2> +// duration<typename common_type<Rep1, Rep2>::type, Period> // operator*(const Rep1& s, const duration<Rep2, Period>& d); #include <chrono> diff --git a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep1.fail.cpp b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep1.fail.cpp index d6cdcbe05dc..dde038083b0 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep1.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep1.fail.cpp @@ -11,12 +11,12 @@ // duration -// template <class Rep1, class Period, class Rep2> -// duration<typename common_type<Rep1, Rep2>::type, Period> +// template <class Rep1, class Period, class Rep2> +// duration<typename common_type<Rep1, Rep2>::type, Period> // operator*(const duration<Rep1, Period>& d, const Rep2& s); -// template <class Rep1, class Period, class Rep2> -// duration<typename common_type<Rep1, Rep2>::type, Period> +// template <class Rep1, class Period, class Rep2> +// duration<typename common_type<Rep1, Rep2>::type, Period> // operator*(const Rep1& s, const duration<Rep2, Period>& d); #include <chrono> diff --git a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep2.fail.cpp b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep2.fail.cpp index 0b1a38ab058..9dfb7385da8 100644 --- a/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep2.fail.cpp +++ b/libcxx/test/utilities/time/time.duration/time.duration.nonmember/op_times_rep2.fail.cpp @@ -11,12 +11,12 @@ // duration -// template <class Rep1, class Period, class Rep2> -// duration<typename common_type<Rep1, Rep2>::type, Period> +// template <class Rep1, class Period, class Rep2> +// duration<typename common_type<Rep1, Rep2>::type, Period> // operator*(const duration<Rep1, Period>& d, const Rep2& s); -// template <class Rep1, class Period, class Rep2> -// duration<typename common_type<Rep1, Rep2>::type, Period> +// template <class Rep1, class Period, class Rep2> +// duration<typename common_type<Rep1, Rep2>::type, Period> // operator*(const Rep1& s, const duration<Rep2, Period>& d); #include <chrono> diff --git a/libcxx/test/utilities/time/time.duration/types.pass.cpp b/libcxx/test/utilities/time/time.duration/types.pass.cpp index 5b6aa81c4a6..8ed179d45dd 100644 --- a/libcxx/test/utilities/time/time.duration/types.pass.cpp +++ b/libcxx/test/utilities/time/time.duration/types.pass.cpp @@ -13,8 +13,8 @@ // Test nested types -// typedef Rep rep; -// typedef Period period; +// typedef Rep rep; +// typedef Period period; #include <chrono> #include <type_traits> diff --git a/libcxx/test/utilities/time/time.point/default_duration.pass.cpp b/libcxx/test/utilities/time/time.point/default_duration.pass.cpp index fe220d3e210..9135f915a63 100644 --- a/libcxx/test/utilities/time/time.point/default_duration.pass.cpp +++ b/libcxx/test/utilities/time/time.point/default_duration.pass.cpp @@ -13,7 +13,7 @@ // Test default template arg: -// template <class Clock, class Duration = typename Clock::duration> +// template <class Clock, class Duration = typename Clock::duration> // class time_point; #include <chrono> diff --git a/libcxx/test/utilities/time/time.point/time.point.cast/time_point_cast.pass.cpp b/libcxx/test/utilities/time/time.point/time.point.cast/time_point_cast.pass.cpp index d12c692bb8e..cd808111550 100644 --- a/libcxx/test/utilities/time/time.point/time.point.cast/time_point_cast.pass.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.cast/time_point_cast.pass.cpp @@ -11,7 +11,7 @@ // time_point -// template <class ToDuration, class Clock, class Duration> +// template <class ToDuration, class Clock, class Duration> // time_point<Clock, ToDuration> // time_point_cast(const time_point<Clock, Duration>& t); diff --git a/libcxx/test/utilities/time/time.point/time.point.cast/toduration.fail.cpp b/libcxx/test/utilities/time/time.point/time.point.cast/toduration.fail.cpp index 412cc07afe0..d611212c4f8 100644 --- a/libcxx/test/utilities/time/time.point/time.point.cast/toduration.fail.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.cast/toduration.fail.cpp @@ -11,7 +11,7 @@ // time_point -// template <class ToDuration, class Clock, class Duration> +// template <class ToDuration, class Clock, class Duration> // time_point<Clock, ToDuration> // time_point_cast(const time_point<Clock, Duration>& t); diff --git a/libcxx/test/utilities/time/time.point/time.point.comparisons/op_equal.fail.cpp b/libcxx/test/utilities/time/time.point/time.point.comparisons/op_equal.fail.cpp index 7122a8ba298..e6f34c558a6 100644 --- a/libcxx/test/utilities/time/time.point/time.point.comparisons/op_equal.fail.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.comparisons/op_equal.fail.cpp @@ -11,11 +11,11 @@ // time_point -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator==(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator!=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); diff --git a/libcxx/test/utilities/time/time.point/time.point.comparisons/op_equal.pass.cpp b/libcxx/test/utilities/time/time.point/time.point.comparisons/op_equal.pass.cpp index 6d1a0dcc7cf..8e204502840 100644 --- a/libcxx/test/utilities/time/time.point/time.point.comparisons/op_equal.pass.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.comparisons/op_equal.pass.cpp @@ -11,11 +11,11 @@ // time_point -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator==(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator!=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); diff --git a/libcxx/test/utilities/time/time.point/time.point.comparisons/op_less.fail.cpp b/libcxx/test/utilities/time/time.point/time.point.comparisons/op_less.fail.cpp index f98dca131bd..4e4fb1d65b8 100644 --- a/libcxx/test/utilities/time/time.point/time.point.comparisons/op_less.fail.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.comparisons/op_less.fail.cpp @@ -11,19 +11,19 @@ // time_point -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator< (const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator> (const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator<=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator>=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); diff --git a/libcxx/test/utilities/time/time.point/time.point.comparisons/op_less.pass.cpp b/libcxx/test/utilities/time/time.point/time.point.comparisons/op_less.pass.cpp index abbb304d04e..8acdc1cae65 100644 --- a/libcxx/test/utilities/time/time.point/time.point.comparisons/op_less.pass.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.comparisons/op_less.pass.cpp @@ -11,19 +11,19 @@ // time_point -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator< (const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator> (const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator<=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // bool // operator>=(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); diff --git a/libcxx/test/utilities/time/time.point/time.point.cons/convert.fail.cpp b/libcxx/test/utilities/time/time.point/time.point.cons/convert.fail.cpp index 68fd0a0cbe6..58241a9f22d 100644 --- a/libcxx/test/utilities/time/time.point/time.point.cons/convert.fail.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.cons/convert.fail.cpp @@ -11,7 +11,7 @@ // time_point -// template <class Duration2> +// template <class Duration2> // time_point(const time_point<clock, Duration2>& t); // Duration2 shall be implicitly convertible to duration. diff --git a/libcxx/test/utilities/time/time.point/time.point.cons/convert.pass.cpp b/libcxx/test/utilities/time/time.point/time.point.cons/convert.pass.cpp index 69547a4c1b4..bdd260eff35 100644 --- a/libcxx/test/utilities/time/time.point/time.point.cons/convert.pass.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.cons/convert.pass.cpp @@ -11,7 +11,7 @@ // time_point -// template <class Duration2> +// template <class Duration2> // time_point(const time_point<clock, Duration2>& t); #include <chrono> diff --git a/libcxx/test/utilities/time/time.point/time.point.nonmember/op_+.pass.cpp b/libcxx/test/utilities/time/time.point/time.point.nonmember/op_+.pass.cpp index ed31cece003..fc627e10e37 100644 --- a/libcxx/test/utilities/time/time.point/time.point.nonmember/op_+.pass.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.nonmember/op_+.pass.cpp @@ -11,12 +11,12 @@ // time_point -// template <class Clock, class Duration1, class Rep2, class Period2> -// time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type> +// template <class Clock, class Duration1, class Rep2, class Period2> +// time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type> // operator+(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs); -// template <class Rep1, class Period1, class Clock, class Duration2> -// time_point<Clock, typename common_type<duration<Rep1, Period1>, Duration2>::type> +// template <class Rep1, class Period1, class Clock, class Duration2> +// time_point<Clock, typename common_type<duration<Rep1, Period1>, Duration2>::type> // operator+(const duration<Rep1, Period1>& lhs, const time_point<Clock, Duration2>& rhs); #include <chrono> diff --git a/libcxx/test/utilities/time/time.point/time.point.nonmember/op_-duration.pass.cpp b/libcxx/test/utilities/time/time.point/time.point.nonmember/op_-duration.pass.cpp index c3e0d62b660..c2bca855983 100644 --- a/libcxx/test/utilities/time/time.point/time.point.nonmember/op_-duration.pass.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.nonmember/op_-duration.pass.cpp @@ -11,8 +11,8 @@ // time_point -// template <class Clock, class Duration1, class Rep2, class Period2> -// time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type> +// template <class Clock, class Duration1, class Rep2, class Period2> +// time_point<Clock, typename common_type<Duration1, duration<Rep2, Period2>>::type> // operator-(const time_point<Clock, Duration1>& lhs, const duration<Rep2, Period2>& rhs); #include <chrono> diff --git a/libcxx/test/utilities/time/time.point/time.point.nonmember/op_-time_point.pass.cpp b/libcxx/test/utilities/time/time.point/time.point.nonmember/op_-time_point.pass.cpp index f8ac80bde37..0ea405f76af 100644 --- a/libcxx/test/utilities/time/time.point/time.point.nonmember/op_-time_point.pass.cpp +++ b/libcxx/test/utilities/time/time.point/time.point.nonmember/op_-time_point.pass.cpp @@ -11,8 +11,8 @@ // time_point -// template <class Clock, class Duration1, class Duration2> -// typename common_type<Duration1, Duration2>::type +// template <class Clock, class Duration1, class Duration2> +// typename common_type<Duration1, Duration2>::type // operator-(const time_point<Clock, Duration1>& lhs, const time_point<Clock, Duration2>& rhs); #include <chrono> diff --git a/libcxx/test/utilities/time/time.traits/time.traits.specializations/duration.pass.cpp b/libcxx/test/utilities/time/time.traits/time.traits.specializations/duration.pass.cpp index dfccbd5cbf8..f638f630921 100644 --- a/libcxx/test/utilities/time/time.traits/time.traits.specializations/duration.pass.cpp +++ b/libcxx/test/utilities/time/time.traits/time.traits.specializations/duration.pass.cpp @@ -9,10 +9,10 @@ // <chrono> -// template <class Rep1, class Period1, class Rep2, class Period2> +// template <class Rep1, class Period1, class Rep2, class Period2> // struct common_type<chrono::duration<Rep1, Period1>, chrono::duration<Rep2, Period2>> // { -// typedef chrono::duration<typename common_type<Rep1, Rep2>::type, see below }> type; +// typedef chrono::duration<typename common_type<Rep1, Rep2>::type, see below }> type; // }; #include <chrono> diff --git a/libcxx/test/utilities/time/time.traits/time.traits.specializations/time_point.pass.cpp b/libcxx/test/utilities/time/time.traits/time.traits.specializations/time_point.pass.cpp index b0965e10457..55d14e1b2aa 100644 --- a/libcxx/test/utilities/time/time.traits/time.traits.specializations/time_point.pass.cpp +++ b/libcxx/test/utilities/time/time.traits/time.traits.specializations/time_point.pass.cpp @@ -9,10 +9,10 @@ // <chrono> -// template <class Clock, class Duration1, class Duration2> +// template <class Clock, class Duration1, class Duration2> // struct common_type<chrono::time_point<Clock, Duration1>, chrono::time_point<Clock, Duration2>> -// { -// typedef chrono::time_point<Clock, typename common_type<Duration1, Duration2>::type> type; +// { +// typedef chrono::time_point<Clock, typename common_type<Duration1, Duration2>::type> type; // }; #include <chrono> |