--- Comment #16 from jwakely dot gcc at gmail dot com 2010-03-02 11:41
---
I might have caused a regression with this change:
FAIL: 30_threads/promise/members/set_value3.cc execution test
WARNING: program timed out.
Will investigate later today...
--
--- Comment #17 from jwakely dot gcc at gmail dot com 2010-03-02 12:44
---
The 30_threads/promise/members/set_value3.cc test had a latent bug which was
revealed by the unique_ptr fix. I'll change the test.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43183
--- Comment #5 from jwakely dot gcc at gmail dot com 2010-03-01 15:05
---
OK, I'm back and have had time to look at this. I vaguely remember noticing
that the assignment and the deleter invocation happened in the wrong order in
our implementation, but I must have forgotten about it as
--- Comment #6 from paolo dot carlini at oracle dot com 2010-03-01 16:08
---
Indeed, thanks Jon. Shall we implement this for 4.5.0, or we had better wait
for nullptr / nullptr_t, what do you think?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43183
--- Comment #7 from jwakely dot gcc at gmail dot com 2010-03-01 16:23
---
I think it should be fixed for 4.5 and then updated when nullptr is available.
I assume that LWG 834 will be accepted in some form, so we will need an update
at some point anyway, to use nullptr in release and
--- Comment #8 from jwakely dot gcc at gmail dot com 2010-03-01 16:35
---
Actually, we could just use pointer() everywhere, which would work today and
would be equivalent to using nullptr, assuming the current proposed resolution
of 834 or something similar. I would be very surprised
--- Comment #9 from paolo dot carlini at oracle dot com 2010-03-01 17:06
---
Agreed. In two days or so I can take care of committing these changes.
--
paolo dot carlini at oracle dot com changed:
What|Removed |Added
--
redi at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |redi at gcc dot gnu dot org
|dot org
dot gcc at gmail dot com gcc-bugzi...@gcc.gnu.org
To: tjgol...@netins.net
Sent: Monday, March 01, 2010 9:05 AM
Subject: [Bug libstdc++/43183] std::unique_ptr::reset() does not conform to
N3035.
--- Comment #5 from jwakely dot gcc at gmail dot com 2010-03-01
15:05 ---
OK, I'm back
--- Comment #11 from redi at gcc dot gnu dot org 2010-03-01 22:30 ---
(In reply to comment #10)
I think it should still check for resetting to the same value to avoid
duplicate deletes later.
I disagree, double delete can only happen in the case of a programming error.
Look at my
--- Comment #12 from redi at gcc dot gnu dot org 2010-03-01 22:38 ---
Bear in mind that a custom deleter with custom pointer type might have very
different semantics for comparing pointer values and for invoking the deleter.
Consider a custom D::pointer which keeps a generation count,
...@gcc.gnu.org
To: tjgol...@netins.net
Sent: Monday, March 01, 2010 4:38 PM
Subject: [Bug libstdc++/43183] std::unique_ptr::reset() does not conform to
N3035.
--- Comment #12 from redi at gcc dot gnu dot org 2010-03-01
22:38 ---
Bear in mind that a custom deleter with custom pointer type
--- Comment #14 from redi at gcc dot gnu dot org 2010-03-02 00:40 ---
Subject: Bug 43183
Author: redi
Date: Tue Mar 2 00:40:28 2010
New Revision: 157158
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157158
Log:
2010-03-02 Jonathan Wakely jwakely@gmail.com
PR
--- Comment #15 from redi at gcc dot gnu dot org 2010-03-02 00:41 ---
Fixed. Version checked in uses swap:
void
reset(pointer __p = pointer())
{
using std::swap;
swap(std::get0(_M_t), __p);
if (__p != pointer())
get_deleter()(__p);
--- Comment #4 from paolo dot carlini at oracle dot com 2010-02-26 18:04
---
I see that you are around... ;)
--
paolo dot carlini at oracle dot com changed:
What|Removed |Added
--- Comment #1 from paolo dot carlini at oracle dot com 2010-02-26 00:03
---
To be clear: we are probably going to implement this, and more, in time for
4.5.0, but we can't play this game: having a PR for each unimplemented item in
the last WP would immediately overflow Bugzilla. In
--- Comment #2 from paolo dot carlini at oracle dot com 2010-02-26 00:13
---
This didn't change in N3035, N3000 had the same wording.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43183
--- Comment #3 from paolo dot carlini at oracle dot com 2010-02-26 00:15
---
Chris, can you please double check this?
--
paolo dot carlini at oracle dot com changed:
What|Removed |Added
18 matches
Mail list logo