convert_exact.pass.cpp revision 473f838128bcf118ab50d08a65a83433ed1b015a
1//===----------------------------------------------------------------------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10// <chrono>
11
12// duration
13
14// template <class Rep2, class Period2>
15//   duration(const duration<Rep2, Period2>& d);
16
17// exact conversions allowed for integral reps
18
19#include <chrono>
20#include <cassert>
21
22int main()
23{
24    {
25    std::chrono::milliseconds ms(1);
26    std::chrono::microseconds us = ms;
27    assert(us.count() == 1000);
28    }
29#ifndef _LIBCPP_HAS_NO_CONSTEXPR
30    {
31    constexpr std::chrono::milliseconds ms(1);
32    constexpr std::chrono::microseconds us = ms;
33    static_assert(us.count() == 1000, "");
34    }
35#endif
36}
37