blob: c52990961c25958b6e5376cb75c49d3cce4e5dc1 [file] [log] [blame]
Howard Hinnant94b2dd02010-08-22 00:59:46 +00001//===----------------------------------------------------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
Howard Hinnant412dbeb2010-11-16 22:09:02 +00005// This file is dual licensed under the MIT and the University of Illinois Open
6// Source Licenses. See LICENSE.TXT for details.
Howard Hinnant94b2dd02010-08-22 00:59:46 +00007//
8//===----------------------------------------------------------------------===//
9
10// <chrono>
11
12// duration
13
14// duration() = default;
15
16// Rep must be default initialized, not initialized with 0
17
18#include <chrono>
19#include <cassert>
20
21#include "../../rep.h"
22
23template <class D>
24void
25test()
26{
27 D d;
28 assert(d.count() == typename D::rep());
Howard Hinnantc0331152012-07-13 19:17:27 +000029#ifndef _LIBCPP_HAS_NO_CONSTEXPR
Howard Hinnantce075cf2013-08-01 00:41:55 +000030 constexpr D d2 = D();
Howard Hinnantc0331152012-07-13 19:17:27 +000031 static_assert(d2.count() == typename D::rep(), "");
32#endif
Howard Hinnant94b2dd02010-08-22 00:59:46 +000033}
34
35int main()
36{
37 test<std::chrono::duration<Rep> >();
38}