summaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-02 22:09:16 +0000
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-02 22:09:16 +0000
commit90c82b1db1ad1a6a552a9ef82b17328e4b7723fd (patch)
tree2aa957d46f9795762ffcdd5ed13a4e0280d65738 /libstdc++-v3
parent066cf3d35e319b06303a5cdfed830779f5c9bdd1 (diff)
downloadgcc-90c82b1db1ad1a6a552a9ef82b17328e4b7723fd.tar.gz
Revert bad import
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94621 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/1.cc71
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/10378.cc51
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/14176.cc42
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator/8230.cc59
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/1.cc95
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/2.cc85
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/3.cc87
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc45
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/4.cc83
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/5.cc87
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/6.cc91
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/7.cc91
-rw-r--r--libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc50
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/1.cc79
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/2.cc60
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/3.cc79
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/4.cc67
17 files changed, 0 insertions, 1222 deletions
diff --git a/libstdc++-v3/testsuite/20_util/allocator/1.cc b/libstdc++-v3/testsuite/20_util/allocator/1.cc
deleted file mode 100644
index d34c8daf9c9..00000000000
--- a/libstdc++-v3/testsuite/20_util/allocator/1.cc
+++ /dev/null
@@ -1,71 +0,0 @@
-// 2001-06-14 Benjamin Kosnik <bkoz@redhat.com>
-
-// Copyright (C) 2001, 2002, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.1.1 allocator members
-
-#include <memory>
-#include <stdexcept>
-#include <cstdlib>
-#include <testsuite_hooks.h>
-
-struct gnu { };
-
-bool check_new = false;
-bool check_delete = false;
-
-void*
-operator new(std::size_t n) throw(std::bad_alloc)
-{
- check_new = true;
- return std::malloc(n);
-}
-
-void operator delete(void *v) throw()
-{
- check_delete = true;
- return std::free(v);
-}
-
-#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
-// Explicitly instantiate for systems with no COMDAT or weak support.
-template class __gnu_cxx::__mt_alloc<gnu>;
-#endif
-
-void test01()
-{
- bool test __attribute__((unused)) = true;
- std::allocator<gnu> obj;
-
- // NB: These should work for various size allocation and
- // deallocations. Currently, they only work as expected for sizes >
- // _MAX_BYTES as defined in stl_alloc.h, which happes to be 128.
- gnu* pobj = obj.allocate(256);
- VERIFY( check_new );
-
- obj.deallocate(pobj, 256);
- VERIFY( check_delete );
-}
-
-int main()
-{
- test01();
- return 0;
-}
-
diff --git a/libstdc++-v3/testsuite/20_util/allocator/10378.cc b/libstdc++-v3/testsuite/20_util/allocator/10378.cc
deleted file mode 100644
index 2ac77eaaf16..00000000000
--- a/libstdc++-v3/testsuite/20_util/allocator/10378.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright (C) 2003, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.1.5 allocator requirements / 20.4.1.1 allocator members
-
-#include <list>
-#include <cstdlib>
-#include <testsuite_hooks.h>
-
-class Bob
-{
-public:
- static void* operator new(size_t sz)
- { return std::malloc(sz); }
-};
-
-// libstdc++/10378
-void test01()
-{
- using namespace std;
- bool test __attribute__((unused)) = true;
-
- list<Bob> uniset;
- uniset.push_back(Bob());
-}
-
-#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
-// Explicitly instantiate for systems with no COMDAT or weak support.
-template class __gnu_cxx::__mt_alloc<std::_List_node<Bob> >;
-#endif
-
-int main()
-{
- test01();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/allocator/14176.cc b/libstdc++-v3/testsuite/20_util/allocator/14176.cc
deleted file mode 100644
index cb8a2f5c4bf..00000000000
--- a/libstdc++-v3/testsuite/20_util/allocator/14176.cc
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (C) 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.1.1 allocator members
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-// libstdc++/14176
-void test02()
-{
- unsigned int len = 0;
- std::allocator<int> a;
- int* p = a.allocate(len);
- a.deallocate(p, len);
-}
-
-#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
-// Explicitly instantiate for systems with no COMDAT or weak support.
-template class __gnu_cxx::__mt_alloc<int>;
-#endif
-
-int main()
-{
- test02();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/allocator/8230.cc b/libstdc++-v3/testsuite/20_util/allocator/8230.cc
deleted file mode 100644
index 95b6cbee55f..00000000000
--- a/libstdc++-v3/testsuite/20_util/allocator/8230.cc
+++ /dev/null
@@ -1,59 +0,0 @@
-// 2001-06-14 Benjamin Kosnik <bkoz@redhat.com>
-
-// Copyright (C) 2001, 2002, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.1.1 allocator members
-
-#include <memory>
-#include <stdexcept>
-#include <testsuite_hooks.h>
-
-// libstdc++/8230
-void test02()
-{
- bool test __attribute__((unused)) = true;
- try
- {
- std::allocator<int> alloc;
- const std::allocator<int>::size_type n = alloc.max_size();
- int* p = alloc.allocate(n + 1);
- p[n] = 2002;
- }
- catch(const std::bad_alloc& e)
- {
- // Allowed.
- test = true;
- }
- catch(...)
- {
- test = false;
- }
- VERIFY( test );
-}
-
-#if !__GXX_WEAK__ && _MT_ALLOCATOR_H
-// Explicitly instantiate for systems with no COMDAT or weak support.
-template class __gnu_cxx::__mt_alloc<int>;
-#endif
-
-int main()
-{
- test02();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc
deleted file mode 100644
index 8e150b0187c..00000000000
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc
+++ /dev/null
@@ -1,95 +0,0 @@
-// Copyright (C) 2000, 2002, 2003, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.5 Template class auto_ptr [lib.auto.ptr]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A() { ++ctor_count; }
- virtual ~A() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long A::ctor_count = 0;
-long A::dtor_count = 0;
-
-struct B : A
-{
- B() { ++ctor_count; }
- virtual ~B() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long B::ctor_count = 0;
-long B::dtor_count = 0;
-
-
-struct reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- B::ctor_count = 0;
- B::dtor_count = 0;
- }
-};
-
-
-// 20.4.5.1 auto_ptr constructors [lib.auto.ptr.cons]
-
-// Construction from pointer
-int
-test01()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::auto_ptr<A> A_default;
- VERIFY( A_default.get() == 0 );
- VERIFY( A::ctor_count == 0 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 0 );
- VERIFY( B::dtor_count == 0 );
-
- std::auto_ptr<A> A_from_A(new A);
- VERIFY( A_from_A.get() != 0 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 0 );
- VERIFY( B::dtor_count == 0 );
-
- std::auto_ptr<A> A_from_B(new B);
- VERIFY( A_from_B.get() != 0 );
- VERIFY( A::ctor_count == 2 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc
deleted file mode 100644
index 6ce31d1fe88..00000000000
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright (C) 2000, 2002, 2003, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.5 Template class auto_ptr [lib.auto.ptr]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A() { ++ctor_count; }
- virtual ~A() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long A::ctor_count = 0;
-long A::dtor_count = 0;
-
-struct B : A
-{
- B() { ++ctor_count; }
- virtual ~B() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long B::ctor_count = 0;
-long B::dtor_count = 0;
-
-
-struct reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- B::ctor_count = 0;
- B::dtor_count = 0;
- }
-};
-
-// Construction from std::auto_ptr
-int
-test02()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::auto_ptr<A> A_from_A(new A);
- std::auto_ptr<B> B_from_B(new B);
-
- std::auto_ptr<A> A_from_ptr_A(A_from_A);
- std::auto_ptr<A> A_from_ptr_B(B_from_B);
- VERIFY( A_from_A.get() == 0 );
- VERIFY( B_from_B.get() == 0 );
- VERIFY( A_from_ptr_A.get() != 0 );
- VERIFY( A_from_ptr_B.get() != 0 );
- VERIFY( A::ctor_count == 2 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
-
- return 0;
-}
-
-int
-main()
-{
- test02();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc
deleted file mode 100644
index 8090d277783..00000000000
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright (C) 2000, 2002, 2003, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.5 Template class auto_ptr [lib.auto.ptr]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A() { ++ctor_count; }
- virtual ~A() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long A::ctor_count = 0;
-long A::dtor_count = 0;
-
-struct B : A
-{
- B() { ++ctor_count; }
- virtual ~B() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long B::ctor_count = 0;
-long B::dtor_count = 0;
-
-
-struct reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- B::ctor_count = 0;
- B::dtor_count = 0;
- }
-};
-
-// Assignment from std::auto_ptr
-int
-test03()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::auto_ptr<A> A_from_ptr_A;
- std::auto_ptr<A> A_from_ptr_B;
- std::auto_ptr<A> A_from_A(new A);
- std::auto_ptr<B> B_from_B(new B);
-
- A_from_ptr_A = A_from_A;
- A_from_ptr_B = B_from_B;
- VERIFY( A_from_A.get() == 0 );
- VERIFY( B_from_B.get() == 0 );
- VERIFY( A_from_ptr_A.get() != 0 );
- VERIFY( A_from_ptr_B.get() != 0 );
- VERIFY( A::ctor_count == 2 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
-
- return 0;
-}
-
-int
-main()
-{
- test03();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc
deleted file mode 100644
index 191ba6f9306..00000000000
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (C) 2000, 2002, 2003, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.5 Template class auto_ptr [lib.auto.ptr]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-// libstdc++/3946
-// http://gcc.gnu.org/ml/libstdc++/2002-07/msg00024.html
-struct Base { };
-struct Derived : public Base { };
-
-std::auto_ptr<Derived>
-conversiontest08() { return std::auto_ptr<Derived>(new Derived); }
-
-void
-test08()
-{
- std::auto_ptr<Base> ptr;
- ptr = conversiontest08();
-}
-
-
-int
-main()
-{
- test08();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc
deleted file mode 100644
index 18148005573..00000000000
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc
+++ /dev/null
@@ -1,83 +0,0 @@
-// Copyright (C) 2000, 2002, 2003, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.5 Template class auto_ptr [lib.auto.ptr]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A() { ++ctor_count; }
- virtual ~A() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long A::ctor_count = 0;
-long A::dtor_count = 0;
-
-struct B : A
-{
- B() { ++ctor_count; }
- virtual ~B() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long B::ctor_count = 0;
-long B::dtor_count = 0;
-
-
-struct reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- B::ctor_count = 0;
- B::dtor_count = 0;
- }
-};
-
-
-// Destruction
-int
-test04()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- {/*lifetine scope*/
- std::auto_ptr<A> A_from_A(new A);
- std::auto_ptr<A> A_from_B(new B);
- std::auto_ptr<B> B_from_B(new B);
- }/*destructors called here*/
-
- VERIFY( A::ctor_count == 3 );
- VERIFY( A::dtor_count == 3 );
- VERIFY( B::ctor_count == 2 );
- VERIFY( B::dtor_count == 2 );
-
- return 0;
-}
-
-int
-main()
-{
- test04();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc
deleted file mode 100644
index 77969816496..00000000000
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright (C) 2000, 2002, 2003, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.5 Template class auto_ptr [lib.auto.ptr]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A() { ++ctor_count; }
- virtual ~A() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long A::ctor_count = 0;
-long A::dtor_count = 0;
-
-struct B : A
-{
- B() { ++ctor_count; }
- virtual ~B() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long B::ctor_count = 0;
-long B::dtor_count = 0;
-
-
-struct reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- B::ctor_count = 0;
- B::dtor_count = 0;
- }
-};
-
-
-// Class member construction/destruction
-template <typename T>
-class pimpl
-{
-public:
- pimpl() : p_impl(new T) {}
-private:
- std::auto_ptr<T> p_impl;
-};
-
-int
-test05()
-{
- bool test __attribute__((unused)) = true;
- reset_count_struct __attribute__((unused)) reset;
-
- pimpl<A>();
- pimpl<B>();
- VERIFY( A::ctor_count == 2 );
- VERIFY( A::dtor_count == 2 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 1 );
- return 0;
-}
-
-int
-main()
-{
- test05();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc
deleted file mode 100644
index e4e13d9d6b0..00000000000
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright (C) 2000, 2002, 2003, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.5 Template class auto_ptr [lib.auto.ptr]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A() { ++ctor_count; }
- virtual ~A() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long A::ctor_count = 0;
-long A::dtor_count = 0;
-
-struct B : A
-{
- B() { ++ctor_count; }
- virtual ~B() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long B::ctor_count = 0;
-long B::dtor_count = 0;
-
-
-struct reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- B::ctor_count = 0;
- B::dtor_count = 0;
- }
-};
-
-// 20.4.5.2 auto_ptr members [lib.auto.ptr.members]
-
-// Member access
-int
-test06()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::auto_ptr<A> A_from_A(new A);
- std::auto_ptr<A> A_from_A_ptr(A_from_A.release());
- VERIFY( A_from_A.get() == 0 );
- VERIFY( A_from_A_ptr.get() != 0 );
- VERIFY( A_from_A_ptr->ctor_count == 1 );
- VERIFY( (*A_from_A_ptr).dtor_count == 0 );
-
- A* A_ptr = A_from_A_ptr.get();
-
- A_from_A_ptr.reset(A_ptr);
- VERIFY( A_from_A_ptr.get() == A_ptr );
- VERIFY( A_from_A_ptr->ctor_count == 1 );
- VERIFY( (*A_from_A_ptr).dtor_count == 0 );
-
- A_from_A_ptr.reset(new A);
- VERIFY( A_from_A_ptr.get() != A_ptr );
- VERIFY( A_from_A_ptr->ctor_count == 2 );
- VERIFY( (*A_from_A_ptr).dtor_count == 1 );
- return 0;
-}
-
-int
-main()
-{
- test06();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc
deleted file mode 100644
index a77ba51cb58..00000000000
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright (C) 2000, 2002, 2003, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.5 Template class auto_ptr [lib.auto.ptr]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A() { ++ctor_count; }
- virtual ~A() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long A::ctor_count = 0;
-long A::dtor_count = 0;
-
-struct B : A
-{
- B() { ++ctor_count; }
- virtual ~B() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long B::ctor_count = 0;
-long B::dtor_count = 0;
-
-
-struct reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- B::ctor_count = 0;
- B::dtor_count = 0;
- }
-};
-
-// 20.4.5.3 auto_ptr conversions [lib.auto.ptr.conv]
-
-// Parameters and return values
-template <typename T>
-static std::auto_ptr<T> source()
-{
- return std::auto_ptr<T>(new T);
-}
-
-template <typename T>
-static void drain(std::auto_ptr<T>)
-{}
-
-int
-test07()
-{
- bool test __attribute__((unused)) = true;
- reset_count_struct __attribute__((unused)) reset;
-
- drain(source<A>());
- // The resolution of core issue 84, now a DR, breaks this call.
- // drain<A>(source<B>());
- drain(source<B>());
- VERIFY( A::ctor_count == 2 );
- VERIFY( A::dtor_count == 2 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 1 );
- return 0;
-}
-
-int
-main()
-{
- test07();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
deleted file mode 100644
index 55291676f3d..00000000000
--- a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-// { dg-do compile }
-
-// Copyright (C) 2002, 2003, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.4.5 Template class auto_ptr negative tests [lib.auto.ptr]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-// via Jack Reeves <jack_reeves@hispeed.ch>
-// libstdc++/3946
-// http://gcc.gnu.org/ml/libstdc++/2002-07/msg00024.html
-struct Base { };
-struct Derived : public Base { };
-
-std::auto_ptr<Derived>
-foo() { return std::auto_ptr<Derived>(new Derived); }
-
-int
-test01()
-{
- std::auto_ptr<Base> ptr2;
- ptr2 = new Base; // { dg-error "no match" }
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
-// { dg-error "candidates" "" { target *-*-* } 223 }
-// { dg-error "std::auto_ptr" "" { target *-*-* } 353 }
diff --git a/libstdc++-v3/testsuite/20_util/pair/1.cc b/libstdc++-v3/testsuite/20_util/pair/1.cc
deleted file mode 100644
index 7ccee6dd569..00000000000
--- a/libstdc++-v3/testsuite/20_util/pair/1.cc
+++ /dev/null
@@ -1,79 +0,0 @@
-// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-
-// Copyright (C) 2001, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.2.2 Pairs
-
-#include <utility>
-#include <testsuite_hooks.h>
-
-class gnu_obj
-{
- int i;
-public:
- gnu_obj(int arg = 0): i(arg) { }
- bool operator==(const gnu_obj& rhs) const { return i == rhs.i; }
- bool operator<(const gnu_obj& rhs) const { return i < rhs.i; }
-};
-
-template<typename T>
- struct gnu_t
- {
- bool b;
- public:
- gnu_t(bool arg = 0): b(arg) { }
- bool operator==(const gnu_t& rhs) const { return b == rhs.b; }
- bool operator<(const gnu_t& rhs) const { return int(b) < int(rhs.b); }
- };
-
-
-// heterogeneous
-void test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::pair<bool, long> p_bl_1(true, 433);
- std::pair<bool, long> p_bl_2 = std::make_pair(true, 433);
- VERIFY( p_bl_1 == p_bl_2 );
- VERIFY( !(p_bl_1 < p_bl_2) );
-
- std::pair<const char*, float> p_sf_1("total enlightenment", 433.00);
- std::pair<const char*, float> p_sf_2 = std::make_pair("total enlightenment",
- 433.00);
- VERIFY( p_sf_1 == p_sf_2 );
- VERIFY( !(p_sf_1 < p_sf_2) );
-
- std::pair<const char*, gnu_obj> p_sg_1("enlightenment", gnu_obj(5));
- std::pair<const char*, gnu_obj> p_sg_2 = std::make_pair("enlightenment",
- gnu_obj(5));
- VERIFY( p_sg_1 == p_sg_2 );
- VERIFY( !(p_sg_1 < p_sg_2) );
-
- std::pair<gnu_t<long>, gnu_obj> p_st_1(gnu_t<long>(false), gnu_obj(5));
- std::pair<gnu_t<long>, gnu_obj> p_st_2 = std::make_pair(gnu_t<long>(false),
- gnu_obj(5));
- VERIFY( p_st_1 == p_st_2 );
- VERIFY( !(p_st_1 < p_st_2) );
-}
-
-int main()
-{
- test01();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/pair/2.cc b/libstdc++-v3/testsuite/20_util/pair/2.cc
deleted file mode 100644
index 82d928c2d01..00000000000
--- a/libstdc++-v3/testsuite/20_util/pair/2.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-
-// Copyright (C) 2001, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.2.2 Pairs
-
-#include <utility>
-#include <testsuite_hooks.h>
-
-class gnu_obj
-{
- int i;
-public:
- gnu_obj(int arg = 0): i(arg) { }
- bool operator==(const gnu_obj& rhs) const { return i == rhs.i; }
- bool operator<(const gnu_obj& rhs) const { return i < rhs.i; }
-};
-
-template<typename T>
- struct gnu_t
- {
- bool b;
- public:
- gnu_t(bool arg = 0): b(arg) { }
- bool operator==(const gnu_t& rhs) const { return b == rhs.b; }
- bool operator<(const gnu_t& rhs) const { return int(b) < int(rhs.b); }
- };
-
-// homogeneous
-void test02()
-{
- bool test __attribute__((unused)) = true;
-
- std::pair<bool, bool> p_bb_1(true, false);
- std::pair<bool, bool> p_bb_2 = std::make_pair(true, false);
- VERIFY( p_bb_1 == p_bb_2 );
- VERIFY( !(p_bb_1 < p_bb_2) );
-}
-
-int main()
-{
- test02();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/pair/3.cc b/libstdc++-v3/testsuite/20_util/pair/3.cc
deleted file mode 100644
index bac0e7eb974..00000000000
--- a/libstdc++-v3/testsuite/20_util/pair/3.cc
+++ /dev/null
@@ -1,79 +0,0 @@
-// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-
-// Copyright (C) 2001, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.2.2 Pairs
-
-#include <utility>
-#include <testsuite_hooks.h>
-
-class gnu_obj
-{
- int i;
-public:
- gnu_obj(int arg = 0): i(arg) { }
- bool operator==(const gnu_obj& rhs) const { return i == rhs.i; }
- bool operator<(const gnu_obj& rhs) const { return i < rhs.i; }
-};
-
-template<typename T>
- struct gnu_t
- {
- bool b;
- public:
- gnu_t(bool arg = 0): b(arg) { }
- bool operator==(const gnu_t& rhs) const { return b == rhs.b; }
- bool operator<(const gnu_t& rhs) const { return int(b) < int(rhs.b); }
- };
-
-
-// const
-void test03()
-{
- bool test __attribute__((unused)) = true;
-
- const std::pair<bool, long> p_bl_1(true, 433);
- const std::pair<bool, long> p_bl_2 = std::make_pair(true, 433);
- VERIFY( p_bl_1 == p_bl_2 );
- VERIFY( !(p_bl_1 < p_bl_2) );
-
- const std::pair<const char*, float> p_sf_1("total enlightenment", 433.00);
- const std::pair<const char*, float> p_sf_2 =
- std::make_pair("total enlightenment", 433.00);
- VERIFY( p_sf_1 == p_sf_2 );
- VERIFY( !(p_sf_1 < p_sf_2) );
-
- const std::pair<const char*, gnu_obj> p_sg_1("enlightenment", gnu_obj(5));
- const std::pair<const char*, gnu_obj> p_sg_2 =
- std::make_pair("enlightenment", gnu_obj(5));
- VERIFY( p_sg_1 == p_sg_2 );
- VERIFY( !(p_sg_1 < p_sg_2) );
-
- const std::pair<gnu_t<long>, gnu_obj> p_st_1(gnu_t<long>(false), gnu_obj(5));
- const std::pair<gnu_t<long>, gnu_obj> p_st_2 =
- std::make_pair(gnu_t<long>(false), gnu_obj(5));
- VERIFY( p_st_1 == p_st_2 );
- VERIFY( !(p_st_1 < p_st_2) );
-}
-
-int main()
-{
- test03();
- return 0;
-}
diff --git a/libstdc++-v3/testsuite/20_util/pair/4.cc b/libstdc++-v3/testsuite/20_util/pair/4.cc
deleted file mode 100644
index f6a1b5697d7..00000000000
--- a/libstdc++-v3/testsuite/20_util/pair/4.cc
+++ /dev/null
@@ -1,67 +0,0 @@
-// 2001-06-18 Benjamin Kosnik <bkoz@redhat.com>
-
-// Copyright (C) 2001, 2004 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 2, 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 COPYING. If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 20.2.2 Pairs
-
-#include <utility>
-#include <testsuite_hooks.h>
-
-class gnu_obj
-{
- int i;
-public:
- gnu_obj(int arg = 0): i(arg) { }
- bool operator==(const gnu_obj& rhs) const { return i == rhs.i; }
- bool operator<(const gnu_obj& rhs) const { return i < rhs.i; }
-};
-
-template<typename T>
- struct gnu_t
- {
- bool b;
- public:
- gnu_t(bool arg = 0): b(arg) { }
- bool operator==(const gnu_t& rhs) const { return b == rhs.b; }
- bool operator<(const gnu_t& rhs) const { return int(b) < int(rhs.b); }
- };
-
-// const&
-void test04()
-{
- bool test __attribute__((unused)) = true;
- const gnu_obj& obj1 = gnu_obj(5);
- const std::pair<const char*, gnu_obj> p_sg_1("enlightenment", obj1);
- const std::pair<const char*, gnu_obj> p_sg_2 =
- std::make_pair("enlightenment", obj1);
- VERIFY( p_sg_1 == p_sg_2 );
- VERIFY( !(p_sg_1 < p_sg_2) );
-
- const gnu_t<long>& tmpl1 = gnu_t<long>(false);
- const std::pair<gnu_t<long>, gnu_obj> p_st_1(tmpl1, obj1);
- const std::pair<gnu_t<long>, gnu_obj> p_st_2 = std::make_pair(tmpl1, obj1);
- VERIFY( p_st_1 == p_st_2 );
- VERIFY( !(p_st_1 < p_st_2) );
-}
-
-int main()
-{
- test04();
- return 0;
-}