• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 // time_point
13 
14 // template <class Duration2>
15 //   time_point(const time_point<clock, Duration2>& t);
16 
17 #include <chrono>
18 #include <cassert>
19 
20 #include "test_macros.h"
21 
main()22 int main()
23 {
24     typedef std::chrono::system_clock Clock;
25     typedef std::chrono::microseconds Duration1;
26     typedef std::chrono::milliseconds Duration2;
27     {
28     std::chrono::time_point<Clock, Duration2> t2(Duration2(3));
29     std::chrono::time_point<Clock, Duration1> t1 = t2;
30     assert(t1.time_since_epoch() == Duration1(3000));
31     }
32 #if TEST_STD_VER > 11
33     {
34     constexpr std::chrono::time_point<Clock, Duration2> t2(Duration2(3));
35     constexpr std::chrono::time_point<Clock, Duration1> t1 = t2;
36     static_assert(t1.time_since_epoch() == Duration1(3000), "");
37     }
38 #endif
39 }
40