diff options
Diffstat (limited to 'gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple')
16 files changed, 0 insertions, 822 deletions
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480.cc deleted file mode 100644 index 613c27f8b..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480.cc +++ /dev/null @@ -1,33 +0,0 @@ -// { dg-options "-std=gnu++0x" } -// { dg-do compile } - -// 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/>. - -// Tuple - -#include <tuple> - -// libstdc++/35480 -void test01() -{ - std::tuple<int> t1( 1 ); - std::tuple<int, int> t2( 1, 2 ); - if ( t1 < t2 ) {} // { dg-error "here" } - if ( t1 == t2 ) {} // { dg-error "here" } -} -// { dg-excess-errors "incomplete type" } diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/comparisons.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/comparisons.cc deleted file mode 100644 index c10fb1cbc..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/comparisons.cc +++ /dev/null @@ -1,49 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> -#include <testsuite_hooks.h> - -using namespace std; - -bool test __attribute__((unused)) = true; - -#define TEST1(x) VERIFY( x == x && !(x != x) && x <= x && !(x < x) ) - -int -main() -{ - int i=0; - int j=0; - int k=2; - tuple<int, int, int> a(0, 0, 0); - tuple<int, int, int> b(0, 0, 1); - tuple<int& , int& , int&> c(i,j,k); - tuple<const int&, const int&, const int&> d(c); - TEST1(a); - TEST1(b); - TEST1(c); - TEST1(d); - VERIFY(!(a > a) && !(b > b)); - VERIFY(a >= a && b >= b); - VERIFY(a < b && !(b < a) && a <= b && !(b <= a)); - VERIFY(b > a && !(a > b) && b >= a && !(a >= b)); -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/cons/assignment.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/cons/assignment.cc deleted file mode 100644 index 111a398ff..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/cons/assignment.cc +++ /dev/null @@ -1,52 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> -#include <testsuite_hooks.h> - -using namespace std; - -int -main() -{ - bool test __attribute__((unused)) = true; - - tuple<> ta; - tuple<> tb; - ta = tb; - - tuple<int> tc(1); - tuple<int> td(0); - td = tc; - VERIFY(get<0>(td) == 1); - - int i=0; - tuple<int&> te(i); - te = tc; - VERIFY(i == 1); - - tuple<const int&> tf(tc); - - get<0>(tc) = 2; - VERIFY(get<0>(tf) == 2); - tuple<double> tg; - tg = tc; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc deleted file mode 100644 index f979623e9..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/cons/big_tuples.cc +++ /dev/null @@ -1,104 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> -#include <testsuite_hooks.h> - -using namespace std; - -// A simple class without conversions to check some things -struct foo -{ }; - -void -test_constructors() -{ - bool test __attribute__((unused)) = true; - - int x1=0,x2=0; - const int &z1=x1; - - // Test empty constructor - tuple<> ta __attribute__((unused)); - tuple<int,int> tb; - // Test construction from values - tuple<int,int> tc(x1,x2); - tuple<int,int&> td(x1,x2); - tuple<const int&> te(z1); - x1=1; - x2=1; - VERIFY(get<0>(td) == 0 && get<1>(td) == 1 && get<0>(te) == 1); - - // Test identical tuple copy constructor - tuple<int,int> tf(tc); - tuple<int,int> tg(td); - tuple<const int&> th(te); - // Test different tuple copy constructor - tuple<int,double> ti(tc); - tuple<int,double> tj(td); - // Test constructing from a pair - pair<int,int> pair1(1,1); - const pair<int,int> pair2(pair1); - tuple<int,int> tl(pair1); - tuple<int,const int&> tm(pair1); - tuple<int,int> tn(pair2); - tuple<int,const int&> to(pair2); -} - -int -main(void) -{ - //test construction - typedef tuple<int,int,int,int,int,int,int,int,int,int> type1; - type1 a(0, 0, 0, 0, 0, 0, 0, 0, 0, 1); - type1 b(0, 0, 0, 0, 0, 0, 0, 0, 0, 2); - type1 c(a); - typedef tuple<int,int,int,int,int,int,int,int,int,char> type2; - type2 d(0, 0, 0, 0, 0, 0, 0, 0, 0, 3); - type1 e(d); - typedef tuple<foo,int,int,int,int,int,int,int,int,foo> type3; - // get - VERIFY(get<9>(a)==1 && get<9>(b)==2); - // comparisons - VERIFY(a==a && !(a!=a) && a<=a && a>=a && !(a<a) && !(a>a)); - VERIFY(!(a==b) && a!=b && a<=b && a<b && !(a>=b) && !(a>b)); - //tie - { - int i = 0; - tie(ignore, ignore, ignore, ignore, ignore, ignore, ignore, ignore, - ignore, i) = a; - VERIFY(i == 1); - } - //test_assignment - a=d; - a=b; - //make_tuple - make_tuple(0, 0, 0, 0, 0, 0, 0, 0, 0, 0); - - //tuple_size - VERIFY(tuple_size<type3>::value == 10); - //tuple_element - { - foo q1; - tuple_element<0,type3>::type q2(q1); - tuple_element<9,type3>::type q3(q1); - } -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc deleted file mode 100644 index 3afb059ce..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/cons/constructor.cc +++ /dev/null @@ -1,64 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> -#include <testsuite_hooks.h> - -using namespace std; - -int -main() -{ - bool test __attribute__((unused)) = true; - - int x1=0,x2=0; - const int &z1=x1; - - // Test empty constructor - tuple<> ta __attribute__((unused)); - tuple<int,int> tb; - // Test construction from values - tuple<int,int> tc(x1,x2); - tuple<int,int&> td(x1,x2); - tuple<const int&> te(z1); - x1=1; - x2=1; - VERIFY(get<0>(td) == 0 && get<1>(td) == 1 && get<0>(te) == 1); - - // Test identical tuple copy constructor - tuple<int,int> tf(tc); - tuple<int,int> tg(td); - tuple<const int&> th(te); - // Test different tuple copy constructor - tuple<int,double> ti(tc); - tuple<int,double> tj(td); - //tuple<int&, int&> tk(tc); - tuple<const int&, const int&> tl(tc); - tuple<const int&, const int&> tm(tl); - // Test constructing from a pair - pair<int,int> pair1(1,1); - const pair<int,int> pair2(pair1); - tuple<int,int> tn(pair1); - tuple<int,const int&> to(pair1); - tuple<int,int> tp(pair2); - tuple<int,const int&> tq(pair2); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/23978.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/23978.cc deleted file mode 100644 index 7db57bc70..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/23978.cc +++ /dev/null @@ -1,45 +0,0 @@ -// { dg-options "-std=gnu++0x" } -// -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> -#include <utility> -#include <testsuite_hooks.h> - -using namespace std; - -// libstdc++/23978 -void test01() -{ - bool test __attribute__((unused)) = true; - - pair<int, int> p(1, 2); - int x = 0; - int y = 0; - tie(x, y) = p; - VERIFY( x == 1 && y == 2 ); -} - -int -main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/make_tuple.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/make_tuple.cc deleted file mode 100644 index 7521111fa..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/make_tuple.cc +++ /dev/null @@ -1,37 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> -#include <functional> -#include <testsuite_hooks.h> - -using namespace std; - -int -main() -{ - bool test __attribute__((unused)) = true; - - int i=0; - make_tuple(1,2,4.0); - make_tuple(ref(i)) = tuple<int>(1); - VERIFY(i == 1); -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie.cc deleted file mode 100644 index a76928979..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie.cc +++ /dev/null @@ -1,42 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> -#include <testsuite_hooks.h> - -using namespace std; - -int -main() -{ - bool test __attribute__((unused)) = true; - - int x1 = 0; - int x2 = 0; - int y1 = 0; - int y2 = 0; - tuple<int,int> ta(1,1); - tuple<const int&,const int&> tc(x1,x2); - tie(y1,y2)=ta; - VERIFY(y1 == 1 && y2 == 1); - tie(y1,y2)=tc; - VERIFY(y1 == 0 && y2 == 0); -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie2.cc deleted file mode 100644 index 538c3e8e1..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/creation_functions/tie2.cc +++ /dev/null @@ -1,38 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> -#include <string> -#include <testsuite_hooks.h> - -int -main() -{ - bool test __attribute__((unused)) = true; - using namespace std; - - int i; - string s; - - tie(i, ignore, s) = make_tuple(42, 3.14, "C++"); - VERIFY( i == 42 ); - VERIFY( s == "C++" ); -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/element_access/get.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/element_access/get.cc deleted file mode 100644 index 1ec01cfca..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/element_access/get.cc +++ /dev/null @@ -1,44 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> -#include <testsuite_hooks.h> - -using namespace std; - -int -main() -{ - bool test __attribute__((unused)) = true; - - int j=1; - const int k=2; - tuple<int,int &,const int&> a(0,j,k); - const tuple<int,int &,const int&> b(1,j,k); - VERIFY(get<0>(a)==0 && get<1>(a)==1 && get<2>(a)==2); - get<0>(a)=3; - get<1>(a)=4; - VERIFY(get<0>(a)==3 && get<1>(a)==4); - VERIFY(j==4); - get<1>(b)=5; - VERIFY(get<0>(b)==1 && get<1>(b)==5 && get<2>(b)==2); - VERIFY(j==5); -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/moveable.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/moveable.cc deleted file mode 100644 index 0fedd83ed..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/moveable.cc +++ /dev/null @@ -1,42 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - - -// NOTE: This makes use of the fact that we know how moveable -// is implemented on tuple. If the implementation changed -// this test may begin to fail. - -#include <tuple> -#include <utility> -#include <testsuite_hooks.h> - -int main() -{ - bool test __attribute__((unused)) = true; - - std::tuple<int, double> a(1, 2.0), b; - b = std::move(a); - VERIFY( std::get<0>(b) == 1 && std::get<1>(b) == 2.0 ); - VERIFY( std::get<0>(a) == 1 && std::get<1>(a) == 2.0 ); - - std::tuple<int, double> c(std::move(b)); - VERIFY( std::get<0>(c) == 1 && std::get<1>(c) == 2.0 ); - VERIFY( std::get<0>(b) == 1 && std::get<1>(b) == 2.0 ); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/moveable2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/moveable2.cc deleted file mode 100644 index f08007421..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/moveable2.cc +++ /dev/null @@ -1,64 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// 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 <tuple> -#include <utility> - -struct MoveOnly -{ - MoveOnly () { } - - MoveOnly (MoveOnly&&) { } - - MoveOnly& operator=(MoveOnly&&) - { return *this; } - -private: - MoveOnly(MoveOnly const&); // = delete - MoveOnly& operator=(MoveOnly const&); // = delete -}; - -MoveOnly -make_move_only () -{ return MoveOnly(); } - -// http://gcc.gnu.org/ml/libstdc++/2008-02/msg00046.html -void test01() -{ - typedef std::tuple<MoveOnly> move_only_tuple; - - move_only_tuple t1(make_move_only()); - move_only_tuple t2(std::move(t1)); - move_only_tuple t3 = std::move(t2); - t1 = std::move(t3); - - typedef std::tuple<MoveOnly, MoveOnly> move_only_tuple2; - - move_only_tuple2 t4(make_move_only(), make_move_only()); - move_only_tuple2 t5(std::move(t4)); - move_only_tuple2 t6 = std::move(t5); - t4 = std::move(t6); -} - -int main() -{ - test01(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/requirements/explicit_instantiation.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/requirements/explicit_instantiation.cc deleted file mode 100644 index 22b8f50f5..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/requirements/explicit_instantiation.cc +++ /dev/null @@ -1,24 +0,0 @@ -// { dg-options "-std=gnu++0x" } -// { dg-do compile } - -// Copyright (C) 2007, 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 <tuple> - -template class std::tuple<short, int, double>; diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/swap.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/swap.cc deleted file mode 100644 index 1e65f0521..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/swap.cc +++ /dev/null @@ -1,109 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - - -// NOTE: This makes use of the fact that we know how moveable -// is implemented on tuple. If the implementation changed -// this test may begin to fail. - -#include <tuple> -#include <utility> -#include <testsuite_hooks.h> - -struct MoveOnly -{ - explicit MoveOnly (int j) : i(j) { } - - MoveOnly (MoveOnly&& m) : i(m.i) { } - - MoveOnly& operator=(MoveOnly&& m) - { i = m.i; return *this; } - - MoveOnly(MoveOnly const&) = delete; - MoveOnly& operator=(MoveOnly const&) = delete; - - bool operator==(MoveOnly const& m) - { return i == m.i; } - - void swap(MoveOnly&& m) - { std::swap(m.i, i); } - - int i; -}; - -void swap(MoveOnly& m1, MoveOnly& m2) -{ m1.swap(m2); } - -MoveOnly -make_move_only (int i) -{ return MoveOnly(i); } - -void test01() -{ - std::tuple<> t1, t2; - std::swap(t1, t2); - - VERIFY( t1 == t2 ); -} - -void test02() -{ - bool test __attribute__((unused)) = true; - - std::tuple<int> t1(1), t2(2); - std::swap(t1, t2); - - VERIFY( std::get<0>(t1) == 2 && std::get<0>(t2) == 1 ); -} - -void test03() -{ - bool test __attribute__((unused)) = true; - - std::tuple<int, float> t1(1, 1.0f), t2(2, 2.0f); - std::swap(t1, t2); - - VERIFY( std::get<0>(t1) == 2 && std::get<0>(t2) == 1 ); - VERIFY( std::get<1>(t1) == 2.0f && std::get<1>(t2) == 1.0f ); -} - -void test04() -{ - bool test __attribute__((unused)) = true; - - std::tuple<int, float, MoveOnly> - t1(1, 1.0f, make_move_only(1)), - t2(2, 2.0f, make_move_only(2)); - - std::swap(t1, t2); - - VERIFY( std::get<0>(t1) == 2 && std::get<0>(t2) == 1 ); - VERIFY( std::get<1>(t1) == 2.0f && std::get<1>(t2) == 1.0f ); - VERIFY( std::get<2>(t1) == make_move_only(2) - && std::get<2>(t2) == make_move_only(1) ); -} - -int main() -{ - test01(); - test02(); - test03(); - test04(); - return 0; -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/tuple_element.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/tuple_element.cc deleted file mode 100644 index 9344ea082..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/tuple_element.cc +++ /dev/null @@ -1,37 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> - -using namespace std; - -struct foo -{ }; - -int -main() -{ - // As foo isn't constructible from anything else, this - // lets us check if type is returning foo when it should - foo q1; - tuple_element<0,tuple<foo,void,int> >::type q2(q1); - tuple_element<2,tuple<void,int,foo> >::type q3(q1); -} diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/tuple_size.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/tuple_size.cc deleted file mode 100644 index 51f4a2db8..000000000 --- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/tuple/tuple_size.cc +++ /dev/null @@ -1,38 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2007, 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/>. - -// Tuple - -#include <tuple> -#include <testsuite_hooks.h> - -using namespace std; - -int -main() -{ - bool test __attribute__((unused)) = true; - - VERIFY(tuple_size<tuple<> >::value == 0); - VERIFY(tuple_size<tuple<int> >::value == 1); - VERIFY(tuple_size<tuple<void> >::value == 1); - typedef tuple<int,const int&,void> test_tuple1; - VERIFY(tuple_size<test_tuple1>::value == 3); - VERIFY(tuple_size<tuple<tuple<void> > >::value == 1); -} |