]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc
re PR testsuite/39696 (gcc.dg/tree-ssa/ssa-ccp-25.c scan-tree-dump doesn't work on...
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 20_util / duration / arithmetic / 2.cc
CommitLineData
15e38d0d
CF
1// { dg-options "-std=gnu++0x" }
2// { dg-require-cstdint "" }
3
4// Copyright (C) 2008 Free Software Foundation
5//
6// This file is part of the GNU ISO C++ Library. This library is free
7// software; you can redistribute it and/or modify it under the
8// terms of the GNU General Public License as published by the
9// Free Software Foundation; either version 2, or (at your option)
10// any later version.
11
12// This library is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16
17// You should have received a copy of the GNU General Public License along
18// with this library; see the file COPYING. If not, write to the Free
19// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
20// USA.
21
22// 20.8.3 Class template duration [time.duration]
23
24#include <chrono>
25#include <testsuite_hooks.h>
26
27// 20.8.3.5 duration non-member arithmetic [time.duration.nonmember]
28void
29test01()
30{
31 bool test __attribute__((unused)) = true;
32 using namespace std::chrono;
33
34 duration<int> d0(12);
35 duration<int> d1(3);
36 int i = 3;
37
38 duration<int> d2 = d0 + d1;
39 VERIFY(d2.count() == 15);
40
41 duration<int> d3 = d0 - d1;
42 VERIFY(d3.count() == 9);
43
44 duration<int> d4 = d0 * i;
45 VERIFY(d4.count() == 36);
46
47 duration<int> d5 = i * d0;
48 VERIFY(d5.count() == 36);
49
50 duration<int> d6 = d0 / i;
51 VERIFY(d6.count() == 4);
52
53 int j = d0 / d1;
54 VERIFY(j == 4);
55}
56
57int
58main()
59{
60 test01();
61 return 0;
62}