diff options
Diffstat (limited to 'gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration')
10 files changed, 0 insertions, 644 deletions
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/arithmetic/1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/arithmetic/1.cc deleted file mode 100644 index fb955abf1..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/arithmetic/1.cc +++ /dev/null @@ -1,93 +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 <testsuite_hooks.h> - -// 20.8.3.3 duration arithmetic [time.duration.arithmetic] (unary member ops) -void -test01() -{ - bool test __attribute__((unused)) = true; - using namespace std::chrono; - - duration<int> d0(3); - duration<int> d1 = -d0; - VERIFY(d0.count() == 3); - VERIFY(d1.count() == -3); - - duration<int> d2 = (+d0); - VERIFY(d2.count() == 3); - - duration<int> d3(++d2); - VERIFY(d2.count() == 4); - VERIFY(d3.count() == 4); - - duration<int> d4(d3++); - VERIFY(d3.count() == 5); - VERIFY(d4.count() == 4); - - duration<int> d5(--d4); - VERIFY(d4.count() == 3); - VERIFY(d5.count() == 3); - - duration<int> d6(d5--); - VERIFY(d5.count() == 2); - VERIFY(d6.count() == 3); -} - -// 20.8.3.3 duration arithmetic [time.duration.arithmetic] (binary member ops) -void -test02() -{ - bool test __attribute__((unused)) = true; - using namespace std::chrono; - - duration<int> d7(3); - duration<int> d8(9); - d7 += d8; - VERIFY(d7.count() == 12); - VERIFY(d8.count() == 9); - - duration<int> d9(3); - duration<int> d10(9); - d9 -= d10; - VERIFY(d9.count() == -6); - VERIFY(d10.count() == 9); - - duration<int> d11(9); - int i = 3; - d11 *= i; - VERIFY(d11.count() == 27); - - duration<int> d12(12); - d12 /= i; - VERIFY(d12.count() == 4); -} - -int -main() -{ - test01(); - test02(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc deleted file mode 100644 index 3940d6a67..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/arithmetic/2.cc +++ /dev/null @@ -1,61 +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 <testsuite_hooks.h> - -// 20.8.3.5 duration non-member arithmetic [time.duration.nonmember] -void -test01() -{ - bool test __attribute__((unused)) = true; - using namespace std::chrono; - - duration<int> d0(12); - duration<int> d1(3); - int i = 3; - - duration<int> d2 = d0 + d1; - VERIFY(d2.count() == 15); - - duration<int> d3 = d0 - d1; - VERIFY(d3.count() == 9); - - duration<int> d4 = d0 * i; - VERIFY(d4.count() == 36); - - duration<int> d5 = i * d0; - VERIFY(d5.count() == 36); - - duration<int> d6 = d0 / i; - VERIFY(d6.count() == 4); - - int j = d0 / d1; - VERIFY(j == 4); -} - -int -main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/comparisons/1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/comparisons/1.cc deleted file mode 100644 index 35151f2ad..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/comparisons/1.cc +++ /dev/null @@ -1,55 +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 <testsuite_hooks.h> - -// 20.8.3.6 duration comparisons [time.duration.comparisons] -void -test01() -{ - bool test __attribute__((unused)) = true; - using namespace std::chrono; - - duration<int> d0(12); - duration<int> d1(3); - duration<int> d2(3); - - VERIFY(d1 < d0); - VERIFY(d0 > d1); - - VERIFY(d0 != d1); - VERIFY(d1 == d2); - - VERIFY(d1 <= d2); - VERIFY(d1 >= d2); - - VERIFY(d1 <= d0); - VERIFY(d0 >= d1); -} - -int -main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/cons/1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/cons/1.cc deleted file mode 100644 index 2cd22a4a7..000000000 --- a/gcc-4.4.3/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; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc deleted file mode 100644 index 40d821909..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/cons/1_neg.cc +++ /dev/null @@ -1,45 +0,0 @@ -// { dg-do compile } -// { 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.1 duration constructors [time.duration.cons] - -#include <chrono> - -void -test01() -{ - std::chrono::duration<int> d1(1.0); -} - -void -test02() -{ - using namespace std::chrono; - - duration<int, std::micro> d2(8); - duration<int, std::milli> d2_copy(d2); -} - -// { dg-error "instantiated from here" "" { target *-*-* } 29 } -// { dg-error "instantiated from here" "" { target *-*-* } 38 } -// { dg-error "not exactly representable" "" { target *-*-* } 227 } -// { dg-error "integral duration with floating point" "" { target *-*-* } 217 } -// { dg-excess-errors "In instantiation of" } diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/cons/2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/cons/2.cc deleted file mode 100644 index 820d76401..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/cons/2.cc +++ /dev/null @@ -1,119 +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 namespace std::chrono; - - duration<int> d0(3); - duration<int> d0_copy(d0); - VERIFY(d0_copy.count() == d0.count()); - - duration<int, std::milli> d1(5); - duration<int, std::micro> d1_copy(d1); - VERIFY(d1.count() * 1000 == d1_copy.count()); - - duration<double, std::micro> d2(8.0); - duration<double, std::milli> d2_copy(d2); - VERIFY(d2.count() == d2_copy.count() * 1000.0); - - duration<int_emulator, std::milli> d3(5); - duration<int_emulator, std::micro> d3_copy(d3); - VERIFY(d3.count() * 1000 == d3_copy.count()); - - duration<dbl_emulator, std::micro> d4(5.0); - duration<dbl_emulator, std::milli> d4_copy(d4); - VERIFY(d4.count() == d4_copy.count() * dbl_emulator(1000.0)); -} - -int -main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc deleted file mode 100644 index 792d15cb9..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc +++ /dev/null @@ -1,26 +0,0 @@ -// { dg-do compile } -// { 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/>. - -#include <ratio> -#include <chrono> - -template class std::chrono::duration<int>; -template class std::chrono::duration<float, std::ratio<2,3>>; diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc deleted file mode 100644 index e8b6d33a1..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc +++ /dev/null @@ -1,36 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=gnu++0x" } -// { dg-require-cstdint "" } -// 2008-07-31 Chris Fairles <chris.fairles@gmail.com> - -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. -// -// 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/>. - - -#include <chrono> - -void test01() -{ - // Check if rep is a duration type - typedef std::chrono::duration<int> rep_type; - typedef std::chrono::duration<rep_type> test_type; - test_type d; -} - -// { dg-error "rep cannot be a duration" "" { target *-*-* } 202 } -// { dg-error "instantiated from here" "" { target *-*-* } 31 } -// { dg-excess-errors "In instantiation of" } diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc deleted file mode 100644 index 910818367..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc +++ /dev/null @@ -1,37 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=gnu++0x" } -// { dg-require-cstdint "" } -// 2008-07-31 Chris Fairles <chris.fairles@gmail.com> - -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. -// -// 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/>. - - -#include <chrono> - -void test01() -{ - // Check if period is a ratio - typedef int rep_type; - typedef int period_type; - typedef std::chrono::duration<rep_type, period_type> test_type; - test_type d; -} - -// { dg-error "must be a specialization of ratio" "" { target *-*-* } 203 } -// { dg-error "instantiated from here" "" { target *-*-* } 32 } -// { dg-excess-errors "In instantiation of" } diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc deleted file mode 100644 index 540d72dde..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc +++ /dev/null @@ -1,38 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=gnu++0x" } -// { dg-require-cstdint "" } -// 2008-07-31 Chris Fairles <chris.fairles@gmail.com> - -// Copyright (C) 2008, 2009 Free Software Foundation, Inc. -// -// 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/>. - - -#include <ratio> -#include <chrono> - -void test01() -{ - // Check if period is positive - typedef int rep_type; - typedef std::ratio<-1> period_type; - typedef std::chrono::duration<rep_type, period_type> test_type; - test_type d; -} - -// { dg-error "period must be positive" "" { target *-*-* } 205 } -// { dg-error "instantiated from here" "" { target *-*-* } 33 } -// { dg-excess-errors "In instantiation of" } |