convert_overflow.pass.cpp revision 8ecb95fdec497a8440ac19c9e961b8d87cc2d668
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// overflow should SFINAE instead of error out, LWG 2094
18
19#include <chrono>
20#include <cassert>
21
22bool called = false;
23
24void f(std::chrono::milliseconds);
25void f(std::chrono::seconds)
26{
27    called = true;
28}
29
30int main()
31{
32    {
33    std::chrono::duration<int, std::exa> r(1);
34    f(r);
35    assert(called);
36    }
37}
38