[Bug c++/52924] [4.7/4.8 Regression] Using an std::function object as deleter of shared_ptr in C++0x mode does not compile

2012-04-11 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52924

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.6.3
Summary|[4.7 Regression] Using an   |[4.7/4.8 Regression] Using
   |std::function object as |an std::function object as
   |deleter of shared_ptr in|deleter of shared_ptr in
   |C++0x mode does not compile |C++0x mode does not compile

--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org 2012-04-11 
09:30:37 UTC ---
In fact even if ~function is noexcept the bug is still present for other
deleters and allocators with potentially-throwing destructors, so the bug's
present on trunk too.


[Bug c++/52924] [4.7/4.8 Regression] Using an std::function object as deleter of shared_ptr in C++0x mode does not compile

2012-04-11 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52924

--- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2012-04-11 
10:29:55 UTC ---
I see, in a sense I'm more happy. Anyway the issue seems easy to fix, right?


[Bug c++/52924] [4.7/4.8 Regression] Using an std::function object as deleter of shared_ptr in C++0x mode does not compile

2012-04-11 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52924

--- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org 2012-04-11 
10:34:04 UTC ---
Yes, very simple, I'll check it in tonight


[Bug c++/52924] [4.7/4.8 Regression] Using an std::function object as deleter of shared_ptr in C++0x mode does not compile

2012-04-11 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52924

--- Comment #8 from Jonathan Wakely redi at gcc dot gnu.org 2012-04-11 
22:54:59 UTC ---
Author: redi
Date: Wed Apr 11 22:54:53 2012
New Revision: 186363

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=186363
Log:
PR libstdc++/52924
* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
user-defined destructor.
(_Sp_counted_inplace): Likewise.
* testsuite/20_util/shared_ptr/cons/52924.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
line numbers.

Added:
trunk/libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc
  - copied, changed from r186362,
trunk/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/shared_ptr_base.h
trunk/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc


[Bug c++/52924] [4.7/4.8 Regression] Using an std::function object as deleter of shared_ptr in C++0x mode does not compile

2012-04-11 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52924

--- Comment #9 from Jonathan Wakely redi at gcc dot gnu.org 2012-04-11 
23:13:49 UTC ---
Author: redi
Date: Wed Apr 11 23:13:44 2012
New Revision: 186367

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=186367
Log:
PR libstdc++/52924
* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
user-defined destructor.
(_Sp_counted_inplace): Likewise.
* testsuite/20_util/shared_ptr/cons/52924.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
line numbers.

Added:
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/20_util/shared_ptr/cons/52924.cc
  - copied, changed from r186360,
branches/gcc-4_7-branch/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
Modified:
branches/gcc-4_7-branch/libstdc++-v3/ChangeLog
branches/gcc-4_7-branch/libstdc++-v3/include/bits/shared_ptr_base.h
   
branches/gcc-4_7-branch/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc


[Bug c++/52924] [4.7/4.8 Regression] Using an std::function object as deleter of shared_ptr in C++0x mode does not compile

2012-04-11 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52924

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #10 from Jonathan Wakely redi at gcc dot gnu.org 2012-04-11 
23:14:43 UTC ---
fixed for 4.7.1