aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr')
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc72
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc85
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc50
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc61
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc30
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc118
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc96
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc52
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc49
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc61
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc45
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc98
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc96
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc30
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc107
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc103
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc49
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc48
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc136
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc46
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc164
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc80
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc49
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc59
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc60
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc63
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc48
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc51
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc62
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc34
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc.cc110
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc48
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc97
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc134
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc40
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/io.cc52
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc51
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/24805.cc30
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc89
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc63
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc47
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc51
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc48
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc47
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc75
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc73
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc94
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc75
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc74
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc31
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc34
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc194
-rw-r--r--gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc196
53 files changed, 0 insertions, 3855 deletions
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc
deleted file mode 100644
index 7c93eb077..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/assign.cc
+++ /dev/null
@@ -1,72 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#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 reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- }
-};
-
-
-// 20.6.6.2.3 shared_ptr assignment [util.smartptr.shared.assign]
-
-// Assignment from shared_ptr<Y>
-void
-test01()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
-
- a = std::shared_ptr<A>(new A);
- VERIFY( a.get() != 0 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
-
- a = std::shared_ptr<A>();
- VERIFY( a.get() == 0 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 1 );
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc
deleted file mode 100644
index e8c751bba..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc
+++ /dev/null
@@ -1,85 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#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.6.6.2.3 shared_ptr assignment [util.smartptr.shared.assign]
-
-// Assignment from auto_ptr<Y>
-int
-test01()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a(new A);
- std::auto_ptr<B> b(new B);
- a = b;
- VERIFY( a.get() != 0 );
- VERIFY( b.get() == 0 );
- VERIFY( A::ctor_count == 2 );
- VERIFY( A::dtor_count == 1 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
deleted file mode 100644
index 155449438..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-struct B { };
-
-// 20.6.6.2.3 shared_ptr assignment [util.smartptr.shared.assign]
-
-// Assignment from incompatible auto_ptr<Y>
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- std::auto_ptr<B> b;
- a = b; // { dg-error "here" }
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
-// { dg-excess-errors "In constructor" }
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
deleted file mode 100644
index 376e8945f..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
+++ /dev/null
@@ -1,61 +0,0 @@
-// { dg-options "-std=gnu++0x -Wno-deprecated" }
-// { dg-do compile }
-
-// 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.7.12.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-std::auto_ptr<A> source() { return std::auto_ptr<A>(); }
-
-// 20.7.12.2.3 shared_ptr assignment [util.smartptr.shared.assign]
-
-// Assignment from rvalue auto_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- a = source();
-
- return 0;
-}
-
-int
-test02()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- std::auto_ptr<A> au;
- a = std::move(au);
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- test02();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc
deleted file mode 100644
index 48ddf9053..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/dr541.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-
-// DR 541. shared_ptr template assignment and void
-void test01()
-{
- std::shared_ptr<void> p;
- p.operator=<void>(p);
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc
deleted file mode 100644
index 1a7b20caf..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/move.cc
+++ /dev/null
@@ -1,118 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <utility>
-#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.6.6.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Rvalue assignment from shared_ptr
-void
-test01()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a1;
- std::shared_ptr<A> a2(new A);
-
- a1 = std::move(a2);
- VERIFY( a1.get() != 0 );
- VERIFY( a2.get() == 0 );
- VERIFY( a1.use_count() == 1 );
- VERIFY( a2.use_count() == 0 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
-
- a1 = std::move(std::shared_ptr<A>());
- VERIFY( a1.get() == 0 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 1 );
-}
-
-// Rvalue assignment from shared_ptr<Y>
-void
-test02()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- std::shared_ptr<B> b(new B);
-
- a = std::move(b);
- VERIFY( a.get() != 0 );
- VERIFY( b.get() == 0 );
- VERIFY( a.use_count() == 1 );
- VERIFY( b.use_count() == 0 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
-
- a = std::move(std::shared_ptr<A>());
- VERIFY( a.get() == 0 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 1 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 1 );
-}
-
-int
-main()
-{
- test01();
- test02();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc
deleted file mode 100644
index 4543be696..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr.cc
+++ /dev/null
@@ -1,96 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#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.6.6.2.3 shared_ptr assignment [util.smartptr.shared.assign]
-
-// Assignment from shared_ptr<Y>
-void
-test01()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
-
- a = std::shared_ptr<A>();
- VERIFY( a.get() == 0 );
- VERIFY( A::ctor_count == 0 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 0 );
- VERIFY( B::dtor_count == 0 );
-
- a = std::shared_ptr<A>(new A);
- VERIFY( a.get() != 0 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 0 );
- VERIFY( B::dtor_count == 0 );
-
- a = std::shared_ptr<B>(new B);
- VERIFY( a.get() != 0 );
- VERIFY( A::ctor_count == 2 );
- VERIFY( A::dtor_count == 1 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
deleted file mode 100644
index 4d9d1a666..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc
+++ /dev/null
@@ -1,52 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory> // { dg-excess-errors "In file included from" }
-#include <testsuite_hooks.h>
-
-struct A { };
-struct B { };
-
-// 20.6.6.2.3 shared_ptr assignment [util.smartptr.shared.assign]
-
-// Assignment from incompatible shared_ptr<Y>
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- std::shared_ptr<B> b;
- a = b; // { dg-error "here" }
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
-// { dg-error "In member function" "" { target *-*-* } 0 }
-// { dg-error "cannot convert" "" { target *-*-* } 0 }
-// { dg-error "instantiated from" "" { target *-*-* } 0 }
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
deleted file mode 100644
index b4fc8263e..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// 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.7.12.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.7.12.2.3 shared_ptr assignment [util.smartptr.shared.assign]
-
-// Assignment from lvalue unique_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- std::unique_ptr<A> u;
- a = u; // { dg-error "used here" }
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
-// { dg-excess-errors "deleted function" }
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc
deleted file mode 100644
index e759a42c3..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc
+++ /dev/null
@@ -1,61 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// 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.7.12.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-std::unique_ptr<A> source() { return std::unique_ptr<A>(); }
-
-// 20.7.12.2.3 shared_ptr assignment [util.smartptr.shared.assign]
-
-// Assignment from rvalue unique_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- a = source();
-
- return 0;
-}
-
-int
-test02()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- std::unique_ptr<A> u;
- a = std::move(u);
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- test02();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc
deleted file mode 100644
index a12c54964..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/casts/1.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2006, 2007, 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.6.6.2.10 shared_ptr casts [util.smartptr.shared.cast]
-
-#include <memory>
-#include <testsuite_tr1.h>
-
-// { dg-do compile }
-
-struct MyP { virtual ~MyP() { }; };
-struct MyDP : MyP { };
-
-int main()
-{
- using __gnu_test::check_ret_type;
- using std::shared_ptr;
- using std::static_pointer_cast;
- using std::const_pointer_cast;
- using std::dynamic_pointer_cast;
-
- shared_ptr<double> spd;
- shared_ptr<const int> spci;
- shared_ptr<MyP> spa;
-
- check_ret_type<shared_ptr<void> >(static_pointer_cast<void>(spd));
- check_ret_type<shared_ptr<int> >(const_pointer_cast<int>(spci));
- check_ret_type<shared_ptr<MyDP> >(static_pointer_cast<MyDP>(spa));
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc
deleted file mode 100644
index 3e9db7580..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/cmp.cc
+++ /dev/null
@@ -1,98 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- virtual ~A() { }
-};
-
-struct B : A
-{
-};
-
-// 20.6.6.2.6 shared_ptr comparison [util.smartptr.shared.cmp]
-
-int
-test01()
-{
- // test empty shared_ptrs compare equivalent
- std::shared_ptr<A> p1;
- std::shared_ptr<B> p2;
- VERIFY( p1 == p2 );
- VERIFY( !(p1 != p2) );
- VERIFY( !(p1 < p2) && !(p2 < p1) );
- return 0;
-}
-
-
-// Construction from pointer
-int
-test02()
-{
- std::shared_ptr<A> A_default;
-
- std::shared_ptr<A> A_from_A(new A);
- VERIFY( A_default != A_from_A );
- VERIFY( !(A_default == A_from_A) );
- VERIFY( (A_default < A_from_A) || (A_from_A < A_default) );
-
- std::shared_ptr<B> B_from_B(new B);
- VERIFY( B_from_B != A_from_A );
- VERIFY( !(B_from_B == A_from_A) );
- VERIFY( (B_from_B < A_from_A) || (A_from_A < B_from_B) );
-
- A_from_A.reset();
- VERIFY( A_default == A_from_A );
- VERIFY( !(A_default != A_from_A) );
- VERIFY( !(A_default < A_from_A) && !(A_from_A < A_default) );
-
- B_from_B.reset();
- VERIFY( B_from_B == A_from_A );
- VERIFY( !(B_from_B != A_from_A) );
- VERIFY( !(B_from_B < A_from_A) && !(A_from_A < B_from_B) );
-
- return 0;
-}
-
-int
-test03()
-{
- std::shared_ptr<A> p1;
-
- // check other operators are defined
- VERIFY( p1 <= p1 );
- VERIFY( p1 >= p1 );
- VERIFY( !(p1 > p1) );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- test02();
- test03();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc
deleted file mode 100644
index 7f35dbe80..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/comparison/less.cc
+++ /dev/null
@@ -1,96 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// 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.13.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-namespace std
-{
- template<>
- struct less<A*> : binary_function<A*,A*,bool>
- {
- static int count;
- bool operator()(A* l, A* r) { ++count; return l < r; }
- };
- int less<A*>::count = 0;
-}
-
-// 20.8.13.2.7 shared_ptr comparison [util.smartptr.shared.cmp]
-
-
-int
-test01()
-{
- std::less<std::shared_ptr<A>> less;
- // test empty shared_ptrs compare equivalent
- std::shared_ptr<A> p1;
- std::shared_ptr<A> p2;
- VERIFY( !less(p1, p2) && !less(p2, p1) );
- VERIFY( std::less<A*>::count == 2 );
- return 0;
-}
-
-
-// Construction from pointer
-int
-test02()
-{
- std::less<std::shared_ptr<A>> less;
-
- std::shared_ptr<A> empty;
- std::shared_ptr<A> p1(new A);
- std::shared_ptr<A> p2(new A);
-
- VERIFY( less(p1, p2) || less(p2, p1) );
- VERIFY( !(less(p1, p2) && less(p2, p1)) );
-
- p1.reset();
- VERIFY( !less(p1, empty) && !less(empty, p1) );
-
- p2.reset();
- VERIFY( !less(p1, p2) && !less(p2, p1) );
-
- return 0;
-}
-
-// Aliasing
-int
-test03()
-{
- std::less<std::shared_ptr<A>> less;
-
- A a;
- std::shared_ptr<A> p1(new A);
- std::shared_ptr<A> p2(p1, &a);
- VERIFY( less(p1, p2) || less(p2, p1) );
-
- return 0;
-}
-int
-main()
-{
- test01();
- test02();
- test03();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc
deleted file mode 100644
index d5b3f7dea..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/39405.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 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 <memory>
-
-// libstdc++/39405
-template<typename T>
- struct foo
- {
- std::shared_ptr<foo<T> > m_foo;
- };
-
-std::shared_ptr<foo<int> > t;
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc
deleted file mode 100644
index 9c39ed50d..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alias.cc
+++ /dev/null
@@ -1,107 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A() : i() { }
- virtual ~A() { }
- int i;
-};
-
-struct B : A
-{
- B() : A(), a() { }
- virtual ~B() { }
- A a;
-};
-
-void deletefunc(A* p) { delete p; }
-
-// 20.6.6.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Aliasing constructors
-
-int test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- std::shared_ptr<bool> b1(a, &test);
- VERIFY( b1.use_count() == 0 );
- VERIFY( a.get() == 0 );
- VERIFY( b1.get() == &test );
-
- std::shared_ptr<bool> b2(b1);
- VERIFY( b2.use_count() == 0 );
- VERIFY( b1.get() == b2.get() );
-
- return 0;
-}
-
-int
-test02()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a(new A);
- std::shared_ptr<int> i1(a, &a->i);
- VERIFY( i1.use_count() == 2 );
-
- std::shared_ptr<int> i2(i1);
- VERIFY( i2.use_count() == 3 );
- VERIFY( i2.get() == &a->i );
-
- return 0;
-}
-
-int
-test03()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<B> b(new B);
- std::shared_ptr<A> a1(b, b.get());
- std::shared_ptr<A> a2(b, &b->a);
- VERIFY( a2.use_count() == 3 );
- VERIFY( a1 == b );
- VERIFY( a2 != b );
- VERIFY( a1.get() != a2.get() );
-
- std::shared_ptr<A> a3(a1);
- VERIFY( a3 == b );
-
- a3 = a2;
- VERIFY( a3.get() == &b->a );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- test02();
- test03();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc
deleted file mode 100644
index 4a4be9a68..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/alloc.cc
+++ /dev/null
@@ -1,103 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-#include <testsuite_allocator.h>
-
-using __gnu_test::tracker_allocator_counter;
-using __gnu_test::tracker_allocator;
-
-struct A { };
-void deletefunc(A* p) { delete p; }
-struct D
-{
- void operator()(A* p) { delete p; ++delete_count; }
- static long delete_count;
-};
-long D::delete_count = 0;
-
-// 20.6.6.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Construction with allocator
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
- tracker_allocator_counter::reset();
-
- std::shared_ptr<A> p1(new A, deletefunc, tracker_allocator<A>());
- std::size_t const sz = tracker_allocator_counter::get_allocation_count();
- VERIFY( sz > 0 );
- {
- std::shared_ptr<A> p2(p1);
- VERIFY( p2.use_count() == 2 );
- VERIFY( tracker_allocator_counter::get_allocation_count() == sz );
- VERIFY( tracker_allocator_counter::get_deallocation_count() == 0 );
- }
- VERIFY( p1.use_count() == 1 );
- VERIFY( tracker_allocator_counter::get_allocation_count() == sz );
- VERIFY( tracker_allocator_counter::get_deallocation_count() == 0 );
- p1.reset();
- VERIFY( p1.use_count() == 0 );
- VERIFY( tracker_allocator_counter::get_allocation_count() == sz );
- VERIFY( tracker_allocator_counter::get_deallocation_count() == sz );
-
- return 0;
-}
-
-// Construction with allocator
-int
-test02()
-{
- bool test __attribute__((unused)) = true;
- tracker_allocator_counter::reset();
-
- std::shared_ptr<A> p1(new A, deletefunc, tracker_allocator<A>());
- std::size_t const sz1 = tracker_allocator_counter::get_allocation_count();
- VERIFY( sz1 > 0 );
- std::shared_ptr<A> p2(new A, D(), tracker_allocator<A>());
- std::size_t const sz2 = tracker_allocator_counter::get_allocation_count();
- VERIFY( sz2 > sz1 );
- VERIFY( tracker_allocator_counter::get_deallocation_count() == 0 );
- p1 = p2;
- VERIFY( p2.use_count() == 2 );
- VERIFY( tracker_allocator_counter::get_allocation_count() == sz2 );
- VERIFY( tracker_allocator_counter::get_deallocation_count() == sz1 );
- p1.reset();
- VERIFY( p2.use_count() == 1 );
- VERIFY( tracker_allocator_counter::get_allocation_count() == sz2 );
- VERIFY( tracker_allocator_counter::get_deallocation_count() == sz1 );
- p2.reset();
- VERIFY( tracker_allocator_counter::get_allocation_count() == sz2 );
- VERIFY( tracker_allocator_counter::get_deallocation_count() == sz2 );
- VERIFY( D::delete_count == 1 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- test02();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc
deleted file mode 100644
index 9087e518a..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Construction from auto_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::auto_ptr<A> a(new A);
- std::shared_ptr<A> a2(a);
- VERIFY( a.get() == 0 );
- VERIFY( a2.get() != 0 );
- VERIFY( a2.use_count() == 1 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
deleted file mode 100644
index 3a946b587..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
+++ /dev/null
@@ -1,48 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.3 shared_ptr assignment [util.smartptr.shared.const]
-
-// Construction from const auto_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- const std::auto_ptr<A> a;
- std::shared_ptr<A> p(a); // { dg-error "no match" }
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
-// { dg-excess-errors "candidates are" }
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc
deleted file mode 100644
index c5dcffea0..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/copy.cc
+++ /dev/null
@@ -1,136 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#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;
-
-void deleter(A* p) { delete p; }
-
-struct reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- B::ctor_count = 0;
- B::dtor_count = 0;
- }
-};
-
-// 20.6.6.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Copy construction
-int test01()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a1;
- std::shared_ptr<A> a2(a1);
- VERIFY( a2.use_count() == 0 );
- VERIFY( A::ctor_count == 0 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 0 );
- VERIFY( B::dtor_count == 0 );
-
- return 0;
-}
-
-int
-test02()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a1(new A);
- std::shared_ptr<A> a2(a1);
- VERIFY( a2.use_count() == 2 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 0 );
- VERIFY( B::dtor_count == 0 );
-
- return 0;
-}
-
-int
-test03()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<B> b(new B);
- std::shared_ptr<A> a(b);
- VERIFY( a.use_count() == 2 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
-
- return 0;
-}
-
-int
-test04()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<B> b(new B, &deleter);
- std::shared_ptr<A> a(b);
- VERIFY( a.use_count() == 2 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- test02();
- test03();
- test04();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc
deleted file mode 100644
index ec4c1fdab..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/default.cc
+++ /dev/null
@@ -1,46 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Default construction
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- VERIFY( a.get() == 0 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc
deleted file mode 100644
index 795155829..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/move.cc
+++ /dev/null
@@ -1,164 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2007, 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/>.
-
-// TR1 20.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <utility>
-#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 D
-{
- void operator()(B* p) const { delete p; ++delete_count; }
- static long delete_count;
-};
-long D::delete_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;
- D::delete_count = 0;
- }
-};
-
-// 20.6.6.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Rvalue construction
-int test01()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a1;
- std::shared_ptr<A> a2(std::move(a1));
- VERIFY( a1.use_count() == 0 );
- VERIFY( a2.use_count() == 0 );
- VERIFY( A::ctor_count == 0 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 0 );
- VERIFY( B::dtor_count == 0 );
-
- return 0;
-}
-
-int
-test02()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a1(new A);
- std::shared_ptr<A> a2(std::move(a1));
- VERIFY( a1.use_count() == 0 );
- VERIFY( a2.use_count() == 1 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
-
- return 0;
-}
-
-int
-test03()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<B> b(new B);
- std::shared_ptr<A> a(std::move(b));
- VERIFY( b.use_count() == 0 );
- VERIFY( a.use_count() == 1 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
-
- return 0;
-}
-
-int
-test04()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<B> b(new B, D());
- std::shared_ptr<A> a(std::move(b));
- VERIFY( b.use_count() == 0 );
- VERIFY( a.use_count() == 1 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
-
- a = std::move(std::shared_ptr<A>());
- VERIFY( D::delete_count == 1 );
- VERIFY( B::dtor_count == 1 );
-
- return 0;
-}
-
-int
-test05()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a(std::move(std::shared_ptr<A>(new A)));
- VERIFY( a.use_count() == 1 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- test02();
- test03();
- test04();
- test05();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc
deleted file mode 100644
index 4bb528011..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/pointer.cc
+++ /dev/null
@@ -1,80 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-struct B : A { };
-
-
-// 20.6.6.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Construction from pointer
-
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- A * const a = 0;
- std::shared_ptr<A> p(a);
- VERIFY( p.get() == 0 );
- VERIFY( p.use_count() == 1 );
-
- return 0;
-}
-
-int
-test02()
-{
- bool test __attribute__((unused)) = true;
-
- A * const a = new A;
- std::shared_ptr<A> p(a);
- VERIFY( p.get() == a );
- VERIFY( p.use_count() == 1 );
-
- return 0;
-}
-
-
-int
-test03()
-{
- bool test __attribute__((unused)) = true;
-
- B * const b = new B;
- std::shared_ptr<A> p(b);
- VERIFY( p.get() == b );
- VERIFY( p.use_count() == 1 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- test02();
- test02();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc
deleted file mode 100644
index cfca90d90..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// 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.7.12.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.7.12.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Construction from unique_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::unique_ptr<A> up(new A);
- std::shared_ptr<A> sp(std::move(up));
- VERIFY( up.get() == 0 );
- VERIFY( sp.get() != 0 );
- VERIFY( sp.use_count() == 1 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc
deleted file mode 100644
index 67485aee7..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc
+++ /dev/null
@@ -1,59 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// 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.7.12.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-struct D {
- void operator()(A* p) const { delete p; ++count; }
- static int count;
-};
-
-int D::count = 0;
-
-// 20.7.12.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Construction from unique_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::unique_ptr<A, D> up(new A, D());
- {
- std::shared_ptr<A> sp(std::move(up));
- VERIFY( up.get() == 0 );
- VERIFY( sp.get() != 0 );
- VERIFY( sp.use_count() == 1 );
- }
- VERIFY( D::count == 1 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc
deleted file mode 100644
index d0998c94c..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// 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.7.12.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-struct D {
- typedef void result_type;
- void operator()(A* p) { delete p; ++count; }
- int count;
-};
-
-
-// 20.7.12.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Construction from unique_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- D d = D();
- std::unique_ptr<A, D&> up(new A, d);
- {
- std::shared_ptr<A> sp(std::move(up));
- VERIFY( up.get() == 0 );
- VERIFY( sp.get() != 0 );
- VERIFY( sp.use_count() == 1 );
- }
- VERIFY( d.count == 1 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc
deleted file mode 100644
index 7b09cfa7d..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc
+++ /dev/null
@@ -1,63 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// 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.7.12.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <functional>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-struct D {
- typedef void result_type;
- void operator()(A* p) { delete p; ++count; }
- int count;
-};
-
-
-// 20.7.12.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Construction from unique_ptr
-// See: http://gcc.gnu.org/ml/libstdc++/2008-09/msg00070.html.
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- D d;
- std::unique_ptr<A, D&> p1(new A, d);
-
- std::shared_ptr<A> p2(std::move(p1));
-
- typedef std::reference_wrapper<D> D2;
- D2* p3 = std::get_deleter<D2>(p2);
-
- VERIFY( p3 != 0 );
- VERIFY( &p3->get() == &d );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
deleted file mode 100644
index 37bdb0b87..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc
+++ /dev/null
@@ -1,48 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// 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.7.12.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.7.12.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Construction from lvalue unique_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::unique_ptr<A> a;
- std::shared_ptr<A> p(a); // { dg-error "used here" }
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
-// { dg-excess-errors "deleted function" }
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc
deleted file mode 100644
index 7e24c1822..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Construction from weak_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- A * const a = new A;
- std::shared_ptr<A> a1(a);
- std::weak_ptr<A> wa(a1);
- std::shared_ptr<A> a2(wa);
- VERIFY( a2.get() == a );
- VERIFY( a2.use_count() == wa.use_count() );
-
- return 0;
-}
-
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc
deleted file mode 100644
index cff9b3b99..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc
+++ /dev/null
@@ -1,62 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do run { xfail *-*-* } }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.1 shared_ptr constructors [util.smartptr.shared.const]
-
-// Construction from expired weak_ptr
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a1(new A);
- std::weak_ptr<A> wa(a1);
- a1.reset();
- VERIFY( wa.expired() );
- try
- {
- std::shared_ptr<A> a2(wa);
- }
- catch (const std::bad_weak_ptr&)
- {
- // Expected.
- __throw_exception_again;
- }
- catch (...)
- {
- // Failed.
- }
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc
deleted file mode 100644
index 31230776e..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/36949.cc
+++ /dev/null
@@ -1,34 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// 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 <memory>
-
-struct A : std::enable_shared_from_this<A> { };
-
-// libstdc++/36949
-void test01()
-{
- std::make_shared<A>()->shared_from_this();
-}
-
-int main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc.cc
deleted file mode 100644
index e6bc6f47f..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/alloc.cc
+++ /dev/null
@@ -1,110 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-#include <testsuite_allocator.h>
-
-using __gnu_test::tracker_allocator_counter;
-using __gnu_test::tracker_allocator;
-
-struct A
-{
- A(int i, double d, char c = '\0') : i(i), d(d), c(c) { ++ctor_count; }
- explicit A(int i) : i(i), d(), c() { ++ctor_count; }
- A() : i(), d(), c() { ++ctor_count; }
- ~A() { ++dtor_count; }
- int i;
- double d;
- char c;
- static int ctor_count;
- static int dtor_count;
-};
-int A::ctor_count = 0;
-int A::dtor_count = 0;
-
-struct reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- tracker_allocator_counter::reset();
- }
-};
-
-// 20.6.6.2.6 shared_ptr creation [util.smartptr.shared.create]
-
-void
-test01()
-{
- bool test __attribute__((unused)) = true;
- reset_count_struct __attribute__((unused)) reset;
-
- {
- std::shared_ptr<A> p1 = std::allocate_shared<A>(tracker_allocator<A>());
- VERIFY( p1.get() != 0 );
- VERIFY( p1.use_count() == 1 );
- VERIFY( A::ctor_count == 1 );
- VERIFY( tracker_allocator_counter::get_allocation_count() > 0 );
- }
- VERIFY( A::ctor_count == A::dtor_count );
- VERIFY( tracker_allocator_counter::get_allocation_count()
- == tracker_allocator_counter::get_deallocation_count() );
-}
-
-void
-test02()
-{
- bool test __attribute__((unused)) = true;
- reset_count_struct __attribute__((unused)) reset;
-
- std::shared_ptr<A> p1;
-
- p1 = std::allocate_shared<A>(tracker_allocator<A>(), 1);
- VERIFY( A::ctor_count == 1 );
- VERIFY( tracker_allocator_counter::get_allocation_count() > 0 );
-
- p1 = std::allocate_shared<A>(tracker_allocator<A>(), 1, 2.0);
- VERIFY( A::ctor_count == 2 );
- VERIFY( A::dtor_count == 1 );
- VERIFY( tracker_allocator_counter::get_deallocation_count() > 0 );
-
- p1 = std::allocate_shared<A>(tracker_allocator<A>(), 1, 2.0, '3');
- VERIFY( A::ctor_count == 3 );
- VERIFY( A::dtor_count == 2 );
- VERIFY( p1->i == 1 );
- VERIFY( p1->d == 2.0 );
- VERIFY( p1->c == '3' );
-
- p1 = std::shared_ptr<A>();
- VERIFY( A::ctor_count == A::dtor_count );
- VERIFY( tracker_allocator_counter::get_allocation_count()
- == tracker_allocator_counter::get_deallocation_count() );
-}
-
-int
-main()
-{
- test01();
- test02();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc
deleted file mode 100644
index 462c6f848..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr402.cc
+++ /dev/null
@@ -1,48 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <new>
-#include <testsuite_hooks.h>
-
-struct A
-{
- void* operator new(size_t n) { return new char[sizeof(A)]; }
- void operator delete(void* p, size_t) { delete (char*)p; }
-};
-
-// 20.6.6.2.6 shared_ptr creation [util.smartptr.shared.create]
-
-void
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> p = std::make_shared<A>();
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc
deleted file mode 100644
index 2441b9302..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/creation/make.cc
+++ /dev/null
@@ -1,97 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A(int i, double d, char c = '\0') : i(i), d(d), c(c) { ++ctor_count; }
- explicit A(int i) : i(i), d(), c() { ++ctor_count; }
- A() : i(), d(), c() { ++ctor_count; }
- ~A() { ++dtor_count; }
- int i;
- double d;
- char c;
- static int ctor_count;
- static int dtor_count;
-};
-int A::ctor_count = 0;
-int A::dtor_count = 0;
-
-struct reset_count_struct
-{
- ~reset_count_struct()
- {
- A::ctor_count = 0;
- A::dtor_count = 0;
- }
-};
-
-// 20.6.6.2.6 shared_ptr creation [util.smartptr.shared.create]
-
-void
-test01()
-{
- bool test __attribute__((unused)) = true;
- reset_count_struct __attribute__((unused)) reset;
-
- {
- std::shared_ptr<A> p1 = std::make_shared<A>();
- VERIFY( p1.get() != 0 );
- VERIFY( p1.use_count() == 1 );
- VERIFY( A::ctor_count == 1 );
- }
- VERIFY( A::ctor_count == A::dtor_count );
-}
-
-void
-test02()
-{
- bool test __attribute__((unused)) = true;
- reset_count_struct __attribute__((unused)) reset;
-
- std::shared_ptr<A> p1;
-
- p1 = std::make_shared<A>(1);
- VERIFY( A::ctor_count == 1 );
-
- p1 = std::make_shared<A>(1, 2.0);
- VERIFY( A::ctor_count == 2 );
- VERIFY( A::dtor_count == 1 );
-
- p1 = std::make_shared<A>(1, 2.0, '3');
- VERIFY( A::ctor_count == 3 );
- VERIFY( A::dtor_count == 2 );
- VERIFY( p1->i == 1 );
- VERIFY( p1->d == 2.0 );
- VERIFY( p1->c == '3' );
-
- p1 = std::shared_ptr<A>();
- VERIFY( A::ctor_count == A::dtor_count );
-}
-
-int
-main()
-{
- test01();
- test02();
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc
deleted file mode 100644
index 5e1a6135f..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/dest/dest.cc
+++ /dev/null
@@ -1,134 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A() { ++ctor_count; }
- ~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; }
- ~B() { ++dtor_count; }
- static long ctor_count;
- static long dtor_count;
-};
-long B::ctor_count = 0;
-long B::dtor_count = 0;
-
-struct D
-{
- void operator()(const B* p) { delete p; ++delete_count; }
- static long delete_count;
-};
-long D::delete_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;
- D::delete_count = 0;
- }
-};
-
-
-// 20.6.6.2.2 shared_ptr destructor [util.smartptr.shared.dest]
-
-// empty shared_ptr
-int
-test01()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- {
- std::shared_ptr<A> a;
- }
- VERIFY( A::ctor_count == 0 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 0 );
- VERIFY( B::dtor_count == 0 );
- VERIFY( D::delete_count == 0 );
-
- return 0;
-}
-
-// shared ownership
-int
-test02()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a;
- {
- a = std::shared_ptr<A>(new B, D());
- }
- VERIFY( A::ctor_count == 1 );
- VERIFY( A::dtor_count == 0 );
- VERIFY( B::ctor_count == 1 );
- VERIFY( B::dtor_count == 0 );
- VERIFY( D::delete_count == 0 );
-
- return 0;
-}
-
-// exclusive ownership
-int
-test03()
-{
- reset_count_struct __attribute__((unused)) reset;
- bool test __attribute__((unused)) = true;
-
- {
- std::shared_ptr<A> a1(new B);
- std::shared_ptr<A> a2(new B, D());
- }
- VERIFY( A::ctor_count == 2 );
- VERIFY( A::dtor_count == 2 );
- VERIFY( B::ctor_count == 2 );
- VERIFY( B::dtor_count == 2 );
- VERIFY( D::delete_count == 1 );
-
- return 0;
-}
-
-
-int
-main()
-{
- test01();
- test02();
- test03();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc
deleted file mode 100644
index b44c9bdf8..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/24595.cc
+++ /dev/null
@@ -1,40 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-using std::get_deleter;
-
-// libstdc++/24595
-void test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<int> sp;
- VERIFY( !get_deleter<void(*)(int*)>(sp) );
-}
-
-int main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/io.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/io.cc
deleted file mode 100644
index a84f4bebf..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/io.cc
+++ /dev/null
@@ -1,52 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <sstream>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.8 shared_ptr I/O [util.smartptr.shared.io]
-
-// operator<<
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> p(new A);
- std::ostringstream buf;
- buf << p;
- const std::string s = buf.str();
- buf.str("");
- buf << p.get();
- VERIFY( s == buf.str() );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc
deleted file mode 100644
index 10ccf8cad..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/misc/swap.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.9 shared_ptr specialized algorithms [util.smartptr.shared.spec]
-
-// std::swap
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- A * const a1 = new A;
- A * const a2 = new A;
- std::shared_ptr<A> p1(a1);
- std::shared_ptr<A> p2(a2);
- std::swap(p1, p2);
- VERIFY( p1.get() == a2 );
- VERIFY( p2.get() == a1 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/24805.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/24805.cc
deleted file mode 100644
index 8b64014c0..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/24805.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-
-// 20.6.6.2.4 shared_ptr modifiers [util.smartptr.shared.mod]
-
-// swap
-
-// libstdc++/24805
-using std::swap;
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc
deleted file mode 100644
index c3b6745b4..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset.cc
+++ /dev/null
@@ -1,89 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-struct B : A { };
-struct D
-{
- void operator()(B* p) { delete p; ++delete_count; }
- static long delete_count;
-};
-long D::delete_count = 0;
-
-// 20.6.6.2.4 shared_ptr modifiers [util.smartptr.shared.mod]
-
-// reset
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- A * const a = new A;
- std::shared_ptr<A> p1(a);
- std::shared_ptr<A> p2(p1);
- p1.reset();
- VERIFY( p1.get() == 0 );
- VERIFY( p2.get() == a );
-
- return 0;
-}
-
-int
-test02()
-{
- bool test __attribute__((unused)) = true;
-
- A * const a = new A;
- B * const b = new B;
- std::shared_ptr<A> p1(a);
- std::shared_ptr<A> p2(p1);
- p1.reset(b);
- VERIFY( p1.get() == b );
- VERIFY( p2.get() == a );
-
- return 0;
-}
-
-int
-test03()
-{
- bool test __attribute__((unused)) = true;
-
- {
- std::shared_ptr<A> p1;
- p1.reset(new B, D());
- }
- VERIFY( D::delete_count == 1 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- test02();
- test03();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc
deleted file mode 100644
index 61ac3b98e..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_alloc.cc
+++ /dev/null
@@ -1,63 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-#include <testsuite_allocator.h>
-
-using __gnu_test::tracker_allocator_counter;
-using __gnu_test::tracker_allocator;
-
-struct A { };
-struct B : A { };
-struct D
-{
- void operator()(B* p) { delete p; ++delete_count; }
- static long delete_count;
-};
-long D::delete_count = 0;
-
-// 20.6.6.2.4 shared_ptr modifiers [util.smartptr.shared.mod]
-
-// Reset with allocator
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
- tracker_allocator_counter::reset();
-
- {
- std::shared_ptr<A> p1;
- p1.reset(new B, D(), tracker_allocator<B>());
- VERIFY( tracker_allocator_counter::get_allocation_count() > 0 );
- }
- VERIFY( D::delete_count == 1 );
- VERIFY( tracker_allocator_counter::get_allocation_count() == tracker_allocator_counter::get_deallocation_count() );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc
deleted file mode 100644
index 5f133f547..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/reset_neg.cc
+++ /dev/null
@@ -1,47 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.4 shared_ptr modifiers [util.smartptr.shared.mod]
-
-// reset
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- const std::shared_ptr<A> p1(new A);
- p1.reset(); // { dg-error "discards qualifiers" }
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc
deleted file mode 100644
index aab41ddc8..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.4 shared_ptr modifiers [util.smartptr.shared.mod]
-
-// swap
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- A * const a1 = new A;
- A * const a2 = new A;
- std::shared_ptr<A> p1(a1);
- std::shared_ptr<A> p2(a2);
- p1.swap(p2);
- VERIFY( p1.get() == a2 );
- VERIFY( p2.get() == a1 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc
deleted file mode 100644
index db173630f..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_neg.cc
+++ /dev/null
@@ -1,48 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.4 shared_ptr modifiers [util.smartptr.shared.mod]
-
-// swap
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- const std::shared_ptr<A> p1(new A);
- std::shared_ptr<A> p2(new A);
- p1.swap(p2); // { dg-error "discards qualifiers" }
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc
deleted file mode 100644
index 0ace59b1c..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc
+++ /dev/null
@@ -1,47 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// 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.7.12.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.7.12.2.4 shared_ptr modifiers [util.smartptr.shared.mod]
-
-// swap
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> p(new A);
- p.swap(std::shared_ptr<A>(new A));
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc
deleted file mode 100644
index f57284fa2..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/bool_conv.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.5 shared_ptr observers [util.smartptr.shared.obs]
-
-// conversion to bool
-void
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- const std::shared_ptr<A> p1;
- VERIFY( p1 == false );
- const std::shared_ptr<A> p2(p1);
- VERIFY( p2 == false );
-}
-
-void
-test02()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> p1(new A);
- VERIFY( p1 );
- std::shared_ptr<A> p2(p1);
- VERIFY( p2 );
- p1.reset();
- VERIFY( !p1 );
- VERIFY( p2 );
-}
-
-void
-test03()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> p1(new A);
- std::shared_ptr<A> p2(p1);
- p2.reset(new A);
- VERIFY( p1 );
- VERIFY( p2 );
-}
-
-
-int
-main()
-{
- test01();
- test02();
- test03();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc
deleted file mode 100644
index 104c7219d..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/get.cc
+++ /dev/null
@@ -1,73 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- A() : i() {}
- int i;
-};
-
-// 20.6.6.2.5 shared_ptr observers [util.smartptr.shared.obs]
-
-// get
-void
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- A * const a = new A;
- const std::shared_ptr<A> p(a);
- VERIFY( p.get() == a );
-}
-
-// operator*
-void
-test02()
-{
- bool test __attribute__((unused)) = true;
-
- A * const a = new A;
- const std::shared_ptr<A> p(a);
- VERIFY( &*p == a );
-}
-
-// operator->
-void
-test03()
-{
- bool test __attribute__((unused)) = true;
-
- A * const a = new A;
- const std::shared_ptr<A> p(a);
- VERIFY( &p->i == &a->i );
-}
-
-int
-main()
-{
- test01();
- test02();
- test03();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc
deleted file mode 100644
index 79ede6833..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/owner_before.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// 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.13.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A
-{
- int i;
- virtual ~A() { }
-};
-
-struct B : A
-{
-};
-
-// 20.6.6.2.5 shared_ptr observers [util.smartptr.shared.obs]
-
-void
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- // test empty shared_ptrs compare equivalent
- std::shared_ptr<A> p1;
- std::shared_ptr<B> p2;
- VERIFY( !p1.owner_before(p2) && !p2.owner_before(p1) );
-}
-
-
-// Construction from pointer
-void
-test02()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> a0;
-
- std::shared_ptr<A> a1(new A);
- VERIFY( a1.owner_before(a0) || a0.owner_before(a1) );
- VERIFY( !(a1.owner_before(a0) && a0.owner_before(a1)) );
-
- std::shared_ptr<B> b1(new B);
- VERIFY( a1.owner_before(b1) || b1.owner_before(a1) );
- VERIFY( !(a1.owner_before(b1) && b1.owner_before(a1)) );
-
- std::shared_ptr<A> a2(a1);
- VERIFY( !a1.owner_before(a2) && !a2.owner_before(a1) );
- a2 = b1;
- VERIFY( !b1.owner_before(a2) && !a2.owner_before(b1) );
-
- std::weak_ptr<A> w1(a1);
- VERIFY( !a1.owner_before(w1) && !w1.owner_before(a1) );
- std::weak_ptr<A> w2(a2);
- VERIFY( !b1.owner_before(w2) && !w2.owner_before(b1) );
-}
-
-// Aliasing
-void
-test03()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> p1(new A());
- std::shared_ptr<int> p2(p1, &p1->i);
- VERIFY( !p1.owner_before(p2) && !p2.owner_before(p1) );
-}
-
-int
-main()
-{
- test01();
- test02();
- test03();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc
deleted file mode 100644
index fae5eba37..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/unique.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-
-// 20.6.6.2.5 shared_ptr observers [util.smartptr.shared.obs]
-
-// unique
-void
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- const std::shared_ptr<A> p1;
- VERIFY( !p1.unique() );
- const std::shared_ptr<A> p2(p1);
- VERIFY( !p1.unique() );
-}
-
-void
-test02()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> p1(new A);
- VERIFY( p1.unique() );
- std::shared_ptr<A> p2(p1);
- VERIFY( !p1.unique() );
- p1.reset();
- VERIFY( !p1.unique() );
- VERIFY( p2.unique() );
-}
-
-void
-test03()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> p1(new A);
- std::shared_ptr<A> p2(p1);
- p2.reset(new A);
- VERIFY( p1.unique() );
- VERIFY( p2.unique() );
-}
-
-
-int
-main()
-{
- test01();
- test02();
- test03();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc
deleted file mode 100644
index a7f34cfac..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/observers/use_count.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-
-// Copyright (C) 2005, 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_hooks.h>
-
-struct A { };
-struct B : A { };
-
-// 20.6.6.2.5 shared_ptr observers [util.smartptr.shared.obs]
-
-// use_count
-void
-test01()
-{
- bool test __attribute__((unused)) = true;
-
- const std::shared_ptr<A> p1;
- VERIFY( p1.use_count() == 0 );
- const std::shared_ptr<A> p2(p1);
- VERIFY( p1.use_count() == 0 );
-}
-
-void
-test02()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> p1(new A);
- std::shared_ptr<A> p2(p1);
- p1.reset();
- VERIFY( p1.use_count() == 0 );
- VERIFY( p2.use_count() == 1 );
-}
-
-void
-test03()
-{
- bool test __attribute__((unused)) = true;
-
- std::shared_ptr<A> p1(new A);
- std::shared_ptr<A> p2(p1);
- p2.reset(new B);
- VERIFY( p1.use_count() == 1 );
- VERIFY( p2.use_count() == 1 );
-}
-
-
-int
-main()
-{
- test01();
- test02();
- test03();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc
deleted file mode 100644
index 0f2d2c366..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_tr1.h>
-
-using namespace __gnu_test;
-using std::shared_ptr;
-template class shared_ptr<int>;
-template class shared_ptr<void>;
-template class shared_ptr<ClassType>;
-template class shared_ptr<IncompleteClass>;
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc
deleted file mode 100644
index 781657cb0..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc
+++ /dev/null
@@ -1,34 +0,0 @@
-// { dg-options "-std=gnu++0x" }
-// { dg-do compile }
-
-// Copyright (C) 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-#include <memory>
-#include <testsuite_tr1.h>
-
-// Check the _S_single lock policy can be instantiated. For a thread-enabled
-// library this checks the templates can be instantiated for non-default
-// lock policy, for a single-threaded lib this is redundant but harmless.
-using namespace __gnu_test;
-using std::__shared_ptr;
-using std::_S_single;
-template class __shared_ptr<int, _S_single>;
-template class __shared_ptr<ClassType, _S_single>;
-template class __shared_ptr<IncompleteClass, _S_single>;
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc
deleted file mode 100644
index 42239a324..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright (C) 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-// { dg-options "-pthread -std=gnu++0x" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-// { dg-options "-pthreads -std=gnu++0x" { target *-*-solaris* } }
-// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
-
-#include <memory>
-#include <random>
-#include <vector>
-#include <testsuite_hooks.h>
-#include <iostream>
-#include <cstdlib>
-
-#include <pthread.h>
-
-#ifdef _GLIBCXX_HAVE_UNISTD_H
-#include <unistd.h> // To test for _POSIX_THREAD_PRIORITY_SCHEDULING
-#endif
-
-/* This (brute-force) tests the atomicity and thus thread safety of the
- * shared_ptr <- weak_ptr
- * assignment operation by allocating a test object, retrieving a weak
- * reference to it, and letting a number of threads repeatedly create strong
- * references from the weak reference.
- * Specifically, this tests the function _Sp_counted_base<true>::add_ref_lock()
- */
-
-
-const unsigned int HAMMER_MAX_THREADS = 10;
-const unsigned int POOL_SIZE = 1000;
-const unsigned long HAMMER_REPEAT = 100000;
-const unsigned long KILL_ONE_IN = 1000;
-
-struct A
- {
- static _Atomic_word counter;
- A()
- {
- __gnu_cxx::__atomic_add(&counter, 1);
- }
- ~A()
- {
- __gnu_cxx::__atomic_add(&counter, -1);
- }
- };
-
-_Atomic_word A::counter = 0;
-
-typedef std::shared_ptr<A> sp_A_t;
-typedef std::weak_ptr<A> wp_A_t;
-
-typedef std::vector<sp_A_t> sp_vector_t;
-typedef std::vector<wp_A_t> wp_vector_t;
-
-struct shared_and_weak_pools
-{
- sp_vector_t& shared_pool;
- wp_vector_t& weak_pool;
-
- shared_and_weak_pools(sp_vector_t& _shared_pool, wp_vector_t& _weak_pool)
- : shared_pool(_shared_pool), weak_pool(_weak_pool)
- { }
-};
-
-void* thread_hammer_and_kill(void* opaque_pools)
-{
- shared_and_weak_pools& pools = *static_cast<shared_and_weak_pools*>(opaque_pools);
- // Using the same parameters as in the RNG test cases.
- std::mersenne_twister<
- unsigned long, 32, 624, 397, 31,
- 0x9908b0dful, 11, 7,
- 0x9d2c5680ul, 15,
- 0xefc60000ul, 18> rng;
-
- sp_vector_t::iterator cur_shared = pools.shared_pool.begin();
- wp_vector_t::iterator cur_weak = pools.weak_pool.begin();
-
- for (unsigned int i = 0; i < HAMMER_REPEAT; ++i)
- {
- try
- {
- sp_A_t strong(*cur_weak);
- }
- catch (std::bad_weak_ptr& exception)
- {
- ++cur_weak;
- if (cur_weak == pools.weak_pool.end())
- break;
- }
-
- if (rng() % KILL_ONE_IN == 0)
- {
- cur_shared->reset();
- ++cur_shared;
- }
- }
- return 0;
-}
-
-void* thread_hammer(void* opaque_weak)
-{
- wp_vector_t& weak_pool = *static_cast<wp_vector_t*>(opaque_weak);
- // Using the same parameters as in the RNG test cases.
- std::mersenne_twister<
- unsigned long, 32, 624, 397, 31,
- 0x9908b0dful, 11, 7,
- 0x9d2c5680ul, 15,
- 0xefc60000ul, 18> rng;
- wp_vector_t::iterator cur_weak = weak_pool.begin();
-
- for (unsigned int i = 0; i < HAMMER_REPEAT; ++i)
- {
- try
- {
- sp_A_t strong(*cur_weak);
- }
- catch (std::bad_weak_ptr& exception)
- {
- ++cur_weak;
- if (cur_weak == weak_pool.end())
- break;
- }
- }
- return 0;
-}
-
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
- sp_vector_t obj_pool(POOL_SIZE);
-
- for(sp_vector_t::iterator cur = obj_pool.begin(); cur != obj_pool.end(); ++cur)
- {
- cur->reset(new A);
- }
- // Obtain weak references.
- std::vector<wp_vector_t> weak_pool(HAMMER_MAX_THREADS, wp_vector_t(obj_pool.begin(), obj_pool.end()));
-
- // Launch threads with pointer to weak reference.
- pthread_t threads[HAMMER_MAX_THREADS];
-#if defined(__sun) && defined(__svr4__) && _XOPEN_VERSION >= 500
- pthread_setconcurrency (HAMMER_MAX_THREADS);
-#endif
-
- pthread_attr_t tattr;
- pthread_attr_init(&tattr);
-
- shared_and_weak_pools pools(obj_pool, weak_pool[0]);
- pthread_create(threads, &tattr, thread_hammer_and_kill, static_cast<void*>(&pools));
- for (unsigned int worker = 1; worker < HAMMER_MAX_THREADS; worker++)
- {
- if (pthread_create(&threads[worker], &tattr,
- thread_hammer, static_cast<void*>(&weak_pool[worker])))
- std::abort();
- }
- // Wait for threads to complete, then check integrity of reference.
- void* status;
- for (unsigned int worker = 0; worker < HAMMER_MAX_THREADS; worker++)
- {
- if (pthread_join(threads[worker], &status))
- std::abort();
- }
- obj_pool.clear();
-
- VERIFY( A::counter == 0 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}
diff --git a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc b/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc
deleted file mode 100644
index e4ac7ee8c..000000000
--- a/gcc-4.4.3/libstdc++-v3/testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc
+++ /dev/null
@@ -1,196 +0,0 @@
-// Copyright (C) 2006, 2007, 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.6.6.2 Template class shared_ptr [util.smartptr.shared]
-
-// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* alpha*-*-osf* mips-sgi-irix6* } }
-// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* alpha*-*-osf* mips-sgi-irix6* } }
-// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
-// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
-
-#include <memory>
-#include <random>
-#include <vector>
-#include <testsuite_hooks.h>
-#include <iostream>
-#include <cstdlib>
-
-#include <pthread.h>
-
-#ifdef _GLIBCXX_HAVE_UNISTD_H
-#include <unistd.h> // To test for _POSIX_THREAD_PRIORITY_SCHEDULING
-#endif
-
-/* This (brute-force) tests the atomicity and thus thread safety of the
- * shared_ptr <- weak_ptr
- * assignment operation by allocating a test object, retrieving a weak
- * reference to it, and letting a number of threads repeatedly create strong
- * references from the weak reference.
- * Specifically, this tests the function _Sp_counted_base<true>::add_ref_lock()
- */
-
-
-const unsigned int HAMMER_MAX_THREADS = 10;
-const unsigned int POOL_SIZE = 1000;
-const unsigned long HAMMER_REPEAT = 100000;
-const unsigned long KILL_ONE_IN = 1000;
-
-struct A
- {
- static _Atomic_word counter;
- A()
- {
- __gnu_cxx::__atomic_add(&counter, 1);
- }
- ~A()
- {
- __gnu_cxx::__atomic_add(&counter, -1);
- }
- };
-
-_Atomic_word A::counter = 0;
-
-using std::_S_mutex;
-
-typedef std::__shared_ptr<A, _S_mutex> sp_A_t;
-typedef std::__weak_ptr<A, _S_mutex> wp_A_t;
-
-typedef std::vector<sp_A_t> sp_vector_t;
-typedef std::vector<wp_A_t> wp_vector_t;
-
-struct shared_and_weak_pools
-{
- sp_vector_t& shared_pool;
- wp_vector_t& weak_pool;
-
- shared_and_weak_pools(sp_vector_t& _shared_pool, wp_vector_t& _weak_pool)
- : shared_pool(_shared_pool), weak_pool(_weak_pool)
- { }
-};
-
-void* thread_hammer_and_kill(void* opaque_pools)
-{
- shared_and_weak_pools& pools = *static_cast<shared_and_weak_pools*>(opaque_pools);
- // Using the same parameters as in the RNG test cases.
- std::mersenne_twister<
- unsigned long, 32, 624, 397, 31,
- 0x9908b0dful, 11, 7,
- 0x9d2c5680ul, 15,
- 0xefc60000ul, 18> rng;
-
- sp_vector_t::iterator cur_shared = pools.shared_pool.begin();
- wp_vector_t::iterator cur_weak = pools.weak_pool.begin();
-
- for (unsigned int i = 0; i < HAMMER_REPEAT; ++i)
- {
- try
- {
- sp_A_t strong(*cur_weak);
- }
- catch (std::bad_weak_ptr& exception)
- {
- ++cur_weak;
- if (cur_weak == pools.weak_pool.end())
- break;
- }
-
- if (rng() % KILL_ONE_IN == 0)
- {
- cur_shared->reset();
- ++cur_shared;
- }
- }
- return 0;
-}
-
-void* thread_hammer(void* opaque_weak)
-{
- wp_vector_t& weak_pool = *static_cast<wp_vector_t*>(opaque_weak);
- // Using the same parameters as in the RNG test cases.
- std::mersenne_twister<
- unsigned long, 32, 624, 397, 31,
- 0x9908b0dful, 11, 7,
- 0x9d2c5680ul, 15,
- 0xefc60000ul, 18> rng;
- wp_vector_t::iterator cur_weak = weak_pool.begin();
-
- for (unsigned int i = 0; i < HAMMER_REPEAT; ++i)
- {
- try
- {
- sp_A_t strong(*cur_weak);
- }
- catch (std::bad_weak_ptr& exception)
- {
- ++cur_weak;
- if (cur_weak == weak_pool.end())
- break;
- }
- }
- return 0;
-}
-
-int
-test01()
-{
- bool test __attribute__((unused)) = true;
- sp_vector_t obj_pool(POOL_SIZE);
-
- for(sp_vector_t::iterator cur = obj_pool.begin(); cur != obj_pool.end(); ++cur)
- {
- cur->reset(new A);
- }
- // Obtain weak references.
- std::vector<wp_vector_t> weak_pool(HAMMER_MAX_THREADS, wp_vector_t(obj_pool.begin(), obj_pool.end()));
-
- // Launch threads with pointer to weak reference.
- pthread_t threads[HAMMER_MAX_THREADS];
-#if defined(__sun) && defined(__svr4__) && _XOPEN_VERSION >= 500
- pthread_setconcurrency (HAMMER_MAX_THREADS);
-#endif
-
- pthread_attr_t tattr;
- pthread_attr_init(&tattr);
-
- shared_and_weak_pools pools(obj_pool, weak_pool[0]);
- pthread_create(threads, &tattr, thread_hammer_and_kill, static_cast<void*>(&pools));
- for (unsigned int worker = 1; worker < HAMMER_MAX_THREADS; worker++)
- {
- if (pthread_create(&threads[worker], &tattr,
- thread_hammer, static_cast<void*>(&weak_pool[worker])))
- std::abort();
- }
- // Wait for threads to complete, then check integrity of reference.
- void* status;
- for (unsigned int worker = 0; worker < HAMMER_MAX_THREADS; worker++)
- {
- if (pthread_join(threads[worker], &status))
- std::abort();
- }
- obj_pool.clear();
-
- VERIFY( A::counter == 0 );
-
- return 0;
-}
-
-int
-main()
-{
- test01();
- return 0;
-}