diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-02 20:44:08 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-02 20:44:08 +0000 |
commit | 72ab438a32c57f0b9b2247b77fc55667580bc60d (patch) | |
tree | 1621e3e1c9266a5765a108ed28c6c5d4b9661245 /libstdc++-v3/testsuite/20_util/auto_ptr | |
parent | 77a5d9e55a76040cba1353082bf2cd7cc8f7a13e (diff) | |
download | gcc-72ab438a32c57f0b9b2247b77fc55667580bc60d.tar.gz |
2004-07-02 Paolo Carlini <pcarlini@suse.de>
* testsuite/20_util/allocator/, auto_ptr/, raw_storage_iterator.cc,
temporary_buffer.cc: Move to...
* testsuite/20_util/memory/: ... here, new dir.
* testsuite/20_util/pair/, testsuite/24_iterators/rel_ops.cc:
Move to...
* testsuite/20_util/utility/: ... here, new dir.
* testsuite/20_util/binders.cc, comparisons.cc: Move to...
* testsuite/20_util/functional/: ... here, new dir.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84028 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/testsuite/20_util/auto_ptr')
-rw-r--r-- | libstdc++-v3/testsuite/20_util/auto_ptr/1.cc | 95 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/auto_ptr/2.cc | 85 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/auto_ptr/3.cc | 87 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc | 45 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/auto_ptr/4.cc | 83 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/auto_ptr/5.cc | 87 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/auto_ptr/6.cc | 91 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/auto_ptr/7.cc | 91 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc | 50 |
9 files changed, 0 insertions, 714 deletions
diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc deleted file mode 100644 index 8e150b0187c..00000000000 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/1.cc +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 20.4.5 Template class auto_ptr [lib.auto.ptr] - -#include <memory> -#include <testsuite_hooks.h> - -struct A -{ - A() { ++ctor_count; } - virtual ~A() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long A::ctor_count = 0; -long A::dtor_count = 0; - -struct B : A -{ - B() { ++ctor_count; } - virtual ~B() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long B::ctor_count = 0; -long B::dtor_count = 0; - - -struct reset_count_struct -{ - ~reset_count_struct() - { - A::ctor_count = 0; - A::dtor_count = 0; - B::ctor_count = 0; - B::dtor_count = 0; - } -}; - - -// 20.4.5.1 auto_ptr constructors [lib.auto.ptr.cons] - -// Construction from pointer -int -test01() -{ - reset_count_struct __attribute__((unused)) reset; - bool test __attribute__((unused)) = true; - - std::auto_ptr<A> A_default; - VERIFY( A_default.get() == 0 ); - VERIFY( A::ctor_count == 0 ); - VERIFY( A::dtor_count == 0 ); - VERIFY( B::ctor_count == 0 ); - VERIFY( B::dtor_count == 0 ); - - std::auto_ptr<A> A_from_A(new A); - VERIFY( A_from_A.get() != 0 ); - VERIFY( A::ctor_count == 1 ); - VERIFY( A::dtor_count == 0 ); - VERIFY( B::ctor_count == 0 ); - VERIFY( B::dtor_count == 0 ); - - std::auto_ptr<A> A_from_B(new B); - VERIFY( A_from_B.get() != 0 ); - VERIFY( A::ctor_count == 2 ); - VERIFY( A::dtor_count == 0 ); - VERIFY( B::ctor_count == 1 ); - VERIFY( B::dtor_count == 0 ); - - return 0; -} - -int -main() -{ - test01(); - return 0; -} diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc deleted file mode 100644 index 6ce31d1fe88..00000000000 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/2.cc +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 20.4.5 Template class auto_ptr [lib.auto.ptr] - -#include <memory> -#include <testsuite_hooks.h> - -struct A -{ - A() { ++ctor_count; } - virtual ~A() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long A::ctor_count = 0; -long A::dtor_count = 0; - -struct B : A -{ - B() { ++ctor_count; } - virtual ~B() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long B::ctor_count = 0; -long B::dtor_count = 0; - - -struct reset_count_struct -{ - ~reset_count_struct() - { - A::ctor_count = 0; - A::dtor_count = 0; - B::ctor_count = 0; - B::dtor_count = 0; - } -}; - -// Construction from std::auto_ptr -int -test02() -{ - reset_count_struct __attribute__((unused)) reset; - bool test __attribute__((unused)) = true; - - std::auto_ptr<A> A_from_A(new A); - std::auto_ptr<B> B_from_B(new B); - - std::auto_ptr<A> A_from_ptr_A(A_from_A); - std::auto_ptr<A> A_from_ptr_B(B_from_B); - VERIFY( A_from_A.get() == 0 ); - VERIFY( B_from_B.get() == 0 ); - VERIFY( A_from_ptr_A.get() != 0 ); - VERIFY( A_from_ptr_B.get() != 0 ); - VERIFY( A::ctor_count == 2 ); - VERIFY( A::dtor_count == 0 ); - VERIFY( B::ctor_count == 1 ); - VERIFY( B::dtor_count == 0 ); - - return 0; -} - -int -main() -{ - test02(); - return 0; -} diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc deleted file mode 100644 index 8090d277783..00000000000 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/3.cc +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 20.4.5 Template class auto_ptr [lib.auto.ptr] - -#include <memory> -#include <testsuite_hooks.h> - -struct A -{ - A() { ++ctor_count; } - virtual ~A() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long A::ctor_count = 0; -long A::dtor_count = 0; - -struct B : A -{ - B() { ++ctor_count; } - virtual ~B() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long B::ctor_count = 0; -long B::dtor_count = 0; - - -struct reset_count_struct -{ - ~reset_count_struct() - { - A::ctor_count = 0; - A::dtor_count = 0; - B::ctor_count = 0; - B::dtor_count = 0; - } -}; - -// Assignment from std::auto_ptr -int -test03() -{ - reset_count_struct __attribute__((unused)) reset; - bool test __attribute__((unused)) = true; - - std::auto_ptr<A> A_from_ptr_A; - std::auto_ptr<A> A_from_ptr_B; - std::auto_ptr<A> A_from_A(new A); - std::auto_ptr<B> B_from_B(new B); - - A_from_ptr_A = A_from_A; - A_from_ptr_B = B_from_B; - VERIFY( A_from_A.get() == 0 ); - VERIFY( B_from_B.get() == 0 ); - VERIFY( A_from_ptr_A.get() != 0 ); - VERIFY( A_from_ptr_B.get() != 0 ); - VERIFY( A::ctor_count == 2 ); - VERIFY( A::dtor_count == 0 ); - VERIFY( B::ctor_count == 1 ); - VERIFY( B::dtor_count == 0 ); - - return 0; -} - -int -main() -{ - test03(); - return 0; -} diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc deleted file mode 100644 index 191ba6f9306..00000000000 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/3946.cc +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 20.4.5 Template class auto_ptr [lib.auto.ptr] - -#include <memory> -#include <testsuite_hooks.h> - -// libstdc++/3946 -// http://gcc.gnu.org/ml/libstdc++/2002-07/msg00024.html -struct Base { }; -struct Derived : public Base { }; - -std::auto_ptr<Derived> -conversiontest08() { return std::auto_ptr<Derived>(new Derived); } - -void -test08() -{ - std::auto_ptr<Base> ptr; - ptr = conversiontest08(); -} - - -int -main() -{ - test08(); - return 0; -} diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc deleted file mode 100644 index 18148005573..00000000000 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/4.cc +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 20.4.5 Template class auto_ptr [lib.auto.ptr] - -#include <memory> -#include <testsuite_hooks.h> - -struct A -{ - A() { ++ctor_count; } - virtual ~A() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long A::ctor_count = 0; -long A::dtor_count = 0; - -struct B : A -{ - B() { ++ctor_count; } - virtual ~B() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long B::ctor_count = 0; -long B::dtor_count = 0; - - -struct reset_count_struct -{ - ~reset_count_struct() - { - A::ctor_count = 0; - A::dtor_count = 0; - B::ctor_count = 0; - B::dtor_count = 0; - } -}; - - -// Destruction -int -test04() -{ - reset_count_struct __attribute__((unused)) reset; - bool test __attribute__((unused)) = true; - - {/*lifetine scope*/ - std::auto_ptr<A> A_from_A(new A); - std::auto_ptr<A> A_from_B(new B); - std::auto_ptr<B> B_from_B(new B); - }/*destructors called here*/ - - VERIFY( A::ctor_count == 3 ); - VERIFY( A::dtor_count == 3 ); - VERIFY( B::ctor_count == 2 ); - VERIFY( B::dtor_count == 2 ); - - return 0; -} - -int -main() -{ - test04(); - return 0; -} diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc deleted file mode 100644 index 77969816496..00000000000 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/5.cc +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 20.4.5 Template class auto_ptr [lib.auto.ptr] - -#include <memory> -#include <testsuite_hooks.h> - -struct A -{ - A() { ++ctor_count; } - virtual ~A() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long A::ctor_count = 0; -long A::dtor_count = 0; - -struct B : A -{ - B() { ++ctor_count; } - virtual ~B() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long B::ctor_count = 0; -long B::dtor_count = 0; - - -struct reset_count_struct -{ - ~reset_count_struct() - { - A::ctor_count = 0; - A::dtor_count = 0; - B::ctor_count = 0; - B::dtor_count = 0; - } -}; - - -// Class member construction/destruction -template <typename T> -class pimpl -{ -public: - pimpl() : p_impl(new T) {} -private: - std::auto_ptr<T> p_impl; -}; - -int -test05() -{ - bool test __attribute__((unused)) = true; - reset_count_struct __attribute__((unused)) reset; - - pimpl<A>(); - pimpl<B>(); - VERIFY( A::ctor_count == 2 ); - VERIFY( A::dtor_count == 2 ); - VERIFY( B::ctor_count == 1 ); - VERIFY( B::dtor_count == 1 ); - return 0; -} - -int -main() -{ - test05(); - return 0; -} diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc deleted file mode 100644 index e4e13d9d6b0..00000000000 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/6.cc +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 20.4.5 Template class auto_ptr [lib.auto.ptr] - -#include <memory> -#include <testsuite_hooks.h> - -struct A -{ - A() { ++ctor_count; } - virtual ~A() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long A::ctor_count = 0; -long A::dtor_count = 0; - -struct B : A -{ - B() { ++ctor_count; } - virtual ~B() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long B::ctor_count = 0; -long B::dtor_count = 0; - - -struct reset_count_struct -{ - ~reset_count_struct() - { - A::ctor_count = 0; - A::dtor_count = 0; - B::ctor_count = 0; - B::dtor_count = 0; - } -}; - -// 20.4.5.2 auto_ptr members [lib.auto.ptr.members] - -// Member access -int -test06() -{ - reset_count_struct __attribute__((unused)) reset; - bool test __attribute__((unused)) = true; - - std::auto_ptr<A> A_from_A(new A); - std::auto_ptr<A> A_from_A_ptr(A_from_A.release()); - VERIFY( A_from_A.get() == 0 ); - VERIFY( A_from_A_ptr.get() != 0 ); - VERIFY( A_from_A_ptr->ctor_count == 1 ); - VERIFY( (*A_from_A_ptr).dtor_count == 0 ); - - A* A_ptr = A_from_A_ptr.get(); - - A_from_A_ptr.reset(A_ptr); - VERIFY( A_from_A_ptr.get() == A_ptr ); - VERIFY( A_from_A_ptr->ctor_count == 1 ); - VERIFY( (*A_from_A_ptr).dtor_count == 0 ); - - A_from_A_ptr.reset(new A); - VERIFY( A_from_A_ptr.get() != A_ptr ); - VERIFY( A_from_A_ptr->ctor_count == 2 ); - VERIFY( (*A_from_A_ptr).dtor_count == 1 ); - return 0; -} - -int -main() -{ - test06(); - return 0; -} diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc deleted file mode 100644 index a77ba51cb58..00000000000 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/7.cc +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 20.4.5 Template class auto_ptr [lib.auto.ptr] - -#include <memory> -#include <testsuite_hooks.h> - -struct A -{ - A() { ++ctor_count; } - virtual ~A() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long A::ctor_count = 0; -long A::dtor_count = 0; - -struct B : A -{ - B() { ++ctor_count; } - virtual ~B() { ++dtor_count; } - static long ctor_count; - static long dtor_count; -}; -long B::ctor_count = 0; -long B::dtor_count = 0; - - -struct reset_count_struct -{ - ~reset_count_struct() - { - A::ctor_count = 0; - A::dtor_count = 0; - B::ctor_count = 0; - B::dtor_count = 0; - } -}; - -// 20.4.5.3 auto_ptr conversions [lib.auto.ptr.conv] - -// Parameters and return values -template <typename T> -static std::auto_ptr<T> source() -{ - return std::auto_ptr<T>(new T); -} - -template <typename T> -static void drain(std::auto_ptr<T>) -{} - -int -test07() -{ - bool test __attribute__((unused)) = true; - reset_count_struct __attribute__((unused)) reset; - - drain(source<A>()); - // The resolution of core issue 84, now a DR, breaks this call. - // drain<A>(source<B>()); - drain(source<B>()); - VERIFY( A::ctor_count == 2 ); - VERIFY( A::dtor_count == 2 ); - VERIFY( B::ctor_count == 1 ); - VERIFY( B::dtor_count == 1 ); - return 0; -} - -int -main() -{ - test07(); - return 0; -} diff --git a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc b/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc deleted file mode 100644 index 55291676f3d..00000000000 --- a/libstdc++-v3/testsuite/20_util/auto_ptr/assign_neg.cc +++ /dev/null @@ -1,50 +0,0 @@ -// { dg-do compile } - -// Copyright (C) 2002, 2003, 2004 Free Software Foundation -// -// This file is part of the GNU ISO C++ Library. This library is free -// software; you can redistribute it and/or modify it under the -// terms of the GNU General Public License as published by the -// Free Software Foundation; either version 2, or (at your option) -// any later version. - -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License along -// with this library; see the file COPYING. If not, write to the Free -// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -// USA. - -// 20.4.5 Template class auto_ptr negative tests [lib.auto.ptr] - -#include <memory> -#include <testsuite_hooks.h> - -// via Jack Reeves <jack_reeves@hispeed.ch> -// libstdc++/3946 -// http://gcc.gnu.org/ml/libstdc++/2002-07/msg00024.html -struct Base { }; -struct Derived : public Base { }; - -std::auto_ptr<Derived> -foo() { return std::auto_ptr<Derived>(new Derived); } - -int -test01() -{ - std::auto_ptr<Base> ptr2; - ptr2 = new Base; // { dg-error "no match" } - return 0; -} - -int -main() -{ - test01(); - return 0; -} -// { dg-error "candidates" "" { target *-*-* } 223 } -// { dg-error "std::auto_ptr" "" { target *-*-* } 353 } |