Home | History | Annotate | Download | only in time.clock.hires
      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 // This test uses new symbols that were not defined in the libc++ shipped on
     11 // darwin11 and darwin12:
     12 // XFAIL: with_system_lib=x86_64-apple-darwin11
     13 // XFAIL: with_system_lib=x86_64-apple-darwin12
     14 
     15 // <chrono>
     16 
     17 // high_resolution_clock
     18 
     19 // check clock invariants
     20 
     21 #include <chrono>
     22 
     23 template <class _Tp>
     24 void test(const _Tp &) {}
     25 
     26 int main()
     27 {
     28     typedef std::chrono::high_resolution_clock C;
     29     static_assert((std::is_same<C::rep, C::duration::rep>::value), "");
     30     static_assert((std::is_same<C::period, C::duration::period>::value), "");
     31     static_assert((std::is_same<C::duration, C::time_point::duration>::value), "");
     32     static_assert(C::is_steady || !C::is_steady, "");
     33     test(std::chrono::high_resolution_clock::is_steady);
     34 }
     35