Index: gcc/libstdc++-v3/testsuite/20_util/duration/cons/1.cc |
diff --git a/gcc/libstdc++-v3/testsuite/20_util/duration/cons/1.cc b/gcc/libstdc++-v3/testsuite/20_util/duration/cons/1.cc |
deleted file mode 100644 |
index 2cd22a4a727e52beb9446e335844163187d8b718..0000000000000000000000000000000000000000 |
--- a/gcc/libstdc++-v3/testsuite/20_util/duration/cons/1.cc |
+++ /dev/null |
@@ -1,134 +0,0 @@ |
-// { dg-options "-std=gnu++0x" } |
-// { dg-require-cstdint "" } |
- |
-// Copyright (C) 2008, 2009 Free Software Foundation |
-// |
-// This file is part of the GNU ISO C++ Library. This library is free |
-// software; you can redistribute it and/or modify it under the |
-// terms of the GNU General Public License as published by the |
-// Free Software Foundation; either version 3, or (at your option) |
-// any later version. |
- |
-// This library is distributed in the hope that it will be useful, |
-// but WITHOUT ANY WARRANTY; without even the implied warranty of |
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
-// GNU General Public License for more details. |
- |
-// You should have received a copy of the GNU General Public License along |
-// with this library; see the file COPYING3. If not see |
-// <http://www.gnu.org/licenses/>. |
- |
-// 20.8.3 Class template duration [time.duration] |
- |
-#include <chrono> |
-#include <type_traits> |
-#include <testsuite_hooks.h> |
- |
-template<typename T> |
-struct type_emulator |
-{ |
- type_emulator() |
- : i(T(0)) { } |
- |
- type_emulator(T j) |
- : i(j) { } |
- |
- type_emulator(const type_emulator& e) |
- : i(e.i) { } |
- |
- type_emulator& |
- operator*=(type_emulator a) |
- { |
- i *= a.i; |
- return *this; |
- } |
- |
- type_emulator& |
- operator+=(type_emulator a) |
- { |
- i += a.i; |
- return *this; |
- } |
- |
- operator T () |
- { return i; } |
- |
- T i; |
-}; |
- |
-template<typename T> |
-bool |
-operator==(type_emulator<T> a, type_emulator<T> b) |
-{ return a.i == b.i; } |
- |
-template<typename T> |
-bool |
-operator<(type_emulator<T> a, type_emulator<T> b) |
-{ return a.i < b.i; } |
- |
-template<typename T> |
-type_emulator<T> |
-operator+(type_emulator<T> a, type_emulator<T> b) |
-{ return a += b; } |
- |
-template<typename T> |
-type_emulator<T> |
-operator*(type_emulator<T> a, type_emulator<T> b) |
-{ return a *= b; } |
- |
-namespace std |
-{ |
- template<typename T, typename U> |
- struct common_type<type_emulator<T>, U> |
- { typedef typename common_type<T,U>::type type; }; |
- |
- template<typename T, typename U> |
- struct common_type<U, type_emulator<T>> |
- { typedef typename common_type<U,T>::type type; }; |
- |
- template<typename T, typename U> |
- struct common_type<type_emulator<T>, type_emulator<U>> |
- { typedef typename common_type<T,U>::type type; }; |
- |
- namespace chrono |
- { |
- template<typename T> |
- struct treat_as_floating_point<type_emulator<T>> |
- : is_floating_point<T> |
- { }; |
- } |
-} |
- |
-typedef type_emulator<int> int_emulator; |
-typedef type_emulator<double> dbl_emulator; |
- |
-// 20.8.3.1 duration constructors [time.duration.cons] |
-void |
-test01() |
-{ |
- bool test __attribute__((unused)) = true; |
- using std::chrono::duration; |
- |
- int r = 3; |
- duration<int> d1(r); |
- VERIFY(d1.count() == static_cast<duration<int>::rep>(r)); |
- |
- double s = 8.0; |
- duration<double> d2(s); |
- VERIFY(d2.count() == static_cast<duration<double>::rep>(s)); |
- |
- int_emulator ie(3); |
- duration<int_emulator> d3(ie); |
- VERIFY(d3.count() == static_cast<duration<int_emulator>::rep>(ie)); |
- |
- dbl_emulator de(4.0); |
- duration<dbl_emulator> d4(de); |
- VERIFY(d4.count() == static_cast<duration<dbl_emulator>::rep>(de)); |
-} |
- |
-int |
-main() |
-{ |
- test01(); |
- return 0; |
-} |