[Bug libstdc++/63840] std::function copy constructor deletes an uninitialized pointer if new fails

2014-12-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63840

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org ---
Author: redi
Date: Sat Dec  6 20:37:54 2014
New Revision: 218452

URL: https://gcc.gnu.org/viewcvs?rev=218452root=gccview=rev
Log:
PR libstdc++/63840
* include/std/functional (function::function(const function)): Set
_M_manager after operations that might throw.
* include/tr1/functional (function::function(const function),
function::function(_Functor, _Useless)): Likewise.
* testsuite/20_util/function/63840.cc: New.
* testsuite/tr1/3_function_objects/function/63840.cc: New.

Added:
branches/gcc-4_8-branch/libstdc++-v3/testsuite/20_util/function/63840.cc
   
branches/gcc-4_8-branch/libstdc++-v3/testsuite/tr1/3_function_objects/function/63840.cc
Modified:
branches/gcc-4_8-branch/libstdc++-v3/ChangeLog
branches/gcc-4_8-branch/libstdc++-v3/include/std/functional
branches/gcc-4_8-branch/libstdc++-v3/include/tr1/functional


[Bug libstdc++/63840] std::function copy constructor deletes an uninitialized pointer if new fails

2014-12-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63840

--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org ---
Author: redi
Date: Sat Dec  6 22:24:11 2014
New Revision: 218456

URL: https://gcc.gnu.org/viewcvs?rev=218456root=gccview=rev
Log:
PR libstdc++/63840
* include/std/functional (function::function(const function)): Set
_M_manager after operations that might throw.
* include/tr1/functional (function::function(const function),
function::functionFunctor, _Useless)): Likewise.
* testsuite/20_util/function/63840.cc: New.
* testsuite/tr1/3_function_objects/function/63840.cc: New.

Added:
branches/gcc-4_9-branch/libstdc++-v3/testsuite/20_util/function/63840.cc
   
branches/gcc-4_9-branch/libstdc++-v3/testsuite/tr1/3_function_objects/function/63840.cc
Modified:
branches/gcc-4_9-branch/libstdc++-v3/ChangeLog
branches/gcc-4_9-branch/libstdc++-v3/include/std/functional
branches/gcc-4_9-branch/libstdc++-v3/include/tr1/functional


[Bug libstdc++/63840] std::function copy constructor deletes an uninitialized pointer if new fails

2014-12-06 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63840

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org ---
Fixed for 4.8.4, 4.9.3 and 5.1


[Bug libstdc++/63840] std::function copy constructor deletes an uninitialized pointer if new fails

2014-12-01 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63840

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.8.4

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org ---
Fixed on trunk so far.


[Bug libstdc++/63840] std::function copy constructor deletes an uninitialized pointer if new fails

2014-12-01 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63840

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Author: redi
Date: Mon Dec  1 13:49:20 2014
New Revision: 218215

URL: https://gcc.gnu.org/viewcvs?rev=218215root=gccview=rev
Log:
PR libstdc++/63840
* include/std/functional (function::function(const function)): Set
_M_manager after operations that might throw.
* include/tr1/functional (function::function(const function),
function::function(_Functor, _Useless)): Likewise.
* testsuite/20_util/function/63840.cc: New.
* testsuite/tr1/3_function_objects/function/63840.cc: New.

Added:
trunk/libstdc++-v3/testsuite/20_util/function/63840.cc
trunk/libstdc++-v3/testsuite/tr1/3_function_objects/function/63840.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/std/functional
trunk/libstdc++-v3/include/tr1/functional


[Bug libstdc++/63840] std::function copy constructor deletes an uninitialized pointer if new fails

2014-11-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63840

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-11-12
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
 Ever confirmed|0   |1


[Bug libstdc++/63840] std::function copy constructor deletes an uninitialized pointer if new fails

2014-11-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63840

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
I thought this looked familiar, I already fixed the function(F) constructor for
PR 55320 but stupidly didn't check the copy constructor.