Commit 16ad69a1 by Jack Reeves Committed by Phil Edwards

re PR libstdc++/3946 (auto_ptr_ref constructor allows dangerous conversion)

2002-07-03  Jack Reeves  <jackw_reeves@hotmail.com>
            Kenny Simpson  <theonetruekenny@yahoo.com>
            Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/3946
	* testsuite/20_util/auto_ptr.cc (test08):  New test.
	* include/std/std_memory.h (auto_ref_ptr):  Make constructor explicit.
	(auto_ptr::operator auto_ptr_ref):  Fix typo.
	General reformatting and doxygenating of the whole file.

Co-Authored-By: Kenny Simpson <theonetruekenny@yahoo.com>
Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>

From-SVN: r55223
parent 6f0361e3
2002-07-03 Jack Reeves <jackw_reeves@hotmail.com>
Kenny Simpson <theonetruekenny@yahoo.com>
Phil Edwards <pme@gcc.gnu.org>
PR libstdc++/3946
* testsuite/20_util/auto_ptr.cc (test08): New test.
* include/std/std_memory.h (auto_ref_ptr): Make constructor explicit.
(auto_ptr::operator auto_ptr_ref): Fix typo.
General reformatting and doxygenating of the whole file.
2002-07-03 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/7097
......
// Copyright (C) 2000 Free Software Foundation
// Copyright (C) 2000, 2002 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
......@@ -276,6 +276,21 @@ test07()
return 0;
}
// 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()
{
......@@ -286,6 +301,7 @@ main()
test05();
test06();
test07();
test08();
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment