* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
@ 2011-12-07 17:17 ` redi at gcc dot gnu.org
2011-12-07 17:21 ` paolo.carlini at oracle dot com
` (19 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: redi at gcc dot gnu.org @ 2011-12-07 17:17 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-12-07 17:16:58 UTC ---
I think this is by design, see the thread beginning with c++std-lib-30698
I've been surprised by that reasoning several times e.g.
http://gcc.gnu.org/ml/gcc-help/2011-11/msg00015.html
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
2011-12-07 17:17 ` [Bug libstdc++/51452] " redi at gcc dot gnu.org
@ 2011-12-07 17:21 ` paolo.carlini at oracle dot com
2011-12-07 17:33 ` paolo.carlini at oracle dot com
` (18 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-07 17:21 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |daniel.kruegler at
| |googlemail dot com
--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-07 17:20:47 UTC ---
Daniel should resolve this.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
2011-12-07 17:17 ` [Bug libstdc++/51452] " redi at gcc dot gnu.org
2011-12-07 17:21 ` paolo.carlini at oracle dot com
@ 2011-12-07 17:33 ` paolo.carlini at oracle dot com
2011-12-07 17:38 ` redi at gcc dot gnu.org
` (17 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-07 17:33 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |redi at gcc dot gnu.org
--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-07 17:32:54 UTC ---
By the way, Jon, I think we should audit the library a little more
systematically vs PR50043 (assuming that, unfortunately, isn't done in time for
4.7) and in case add explicit noexcept.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (2 preceding siblings ...)
2011-12-07 17:33 ` paolo.carlini at oracle dot com
@ 2011-12-07 17:38 ` redi at gcc dot gnu.org
2011-12-07 18:41 ` dave@boost-consulting.com
` (16 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: redi at gcc dot gnu.org @ 2011-12-07 17:38 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-12-07 17:38:39 UTC ---
yes, I keep forgetting that noexcept should be implied on dtors now
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (3 preceding siblings ...)
2011-12-07 17:38 ` redi at gcc dot gnu.org
@ 2011-12-07 18:41 ` dave@boost-consulting.com
2011-12-07 19:04 ` redi at gcc dot gnu.org
` (15 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: dave@boost-consulting.com @ 2011-12-07 18:41 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #5 from dave@boost-consulting.com 2011-12-07 18:41:12 UTC ---
(In reply to comment #1)
> I think this is by design, see the thread beginning with c++std-lib-30698
>
> I've been surprised by that reasoning several times e.g.
> http://gcc.gnu.org/ml/gcc-help/2011-11/msg00015.html
I see the thread. I don't see anything in the thread that supports the idea
that it should behave this way, but maybe I'm missing something.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (4 preceding siblings ...)
2011-12-07 18:41 ` dave@boost-consulting.com
@ 2011-12-07 19:04 ` redi at gcc dot gnu.org
2011-12-09 16:00 ` daniel.kruegler at googlemail dot com
` (14 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: redi at gcc dot gnu.org @ 2011-12-07 19:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-12-07 19:03:30 UTC ---
c++std-lib-30708 has Daniel's explanation of his interpretation, as implemented
in GCC.
FWIW I prefer your interpretation, but will peace Daniel to comment further
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (5 preceding siblings ...)
2011-12-07 19:04 ` redi at gcc dot gnu.org
@ 2011-12-09 16:00 ` daniel.kruegler at googlemail dot com
2011-12-09 16:03 ` redi at gcc dot gnu.org
` (13 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: daniel.kruegler at googlemail dot com @ 2011-12-09 16:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #7 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2011-12-09 15:57:15 UTC ---
Please note that this issue here is a simply a dup of bug 51295, which is a
compiler defect and *not* a library problem. See [class.dtor] p3:
"A declaration of a destructor that does not have an exception-specification is
implicitly considered to have the same exception-specification as an implicit
declaration (15.4)."
I hadn't looked at the actual example until Dave was describing effects on the
LWG reflector that are obviously in contradiction to the core language.
I repeat: The test case should be well-formed with the existing
is_constructible definition once the compiler defect is fixed.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (6 preceding siblings ...)
2011-12-09 16:00 ` daniel.kruegler at googlemail dot com
@ 2011-12-09 16:03 ` redi at gcc dot gnu.org
2011-12-09 16:04 ` paolo.carlini at oracle dot com
` (12 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: redi at gcc dot gnu.org @ 2011-12-09 16:03 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-12-09 16:02:11 UTC ---
Corrected testcase:
struct X
{
X() noexcept;
~X() noexcept(false);
};
static_assert( noexcept( X() ), "fails because of ~X" );
static_assert( noexcept(new (nullptr) X()), "works" );
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (7 preceding siblings ...)
2011-12-09 16:03 ` redi at gcc dot gnu.org
@ 2011-12-09 16:04 ` paolo.carlini at oracle dot com
2011-12-09 18:13 ` dave at boostpro dot com
` (11 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-09 16:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
CC| |paolo.carlini at oracle dot
| |com
Resolution| |DUPLICATE
--- Comment #9 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-09 16:03:29 UTC ---
Ah good, let's resolve as duplicate then. Thanks Daniel.
*** This bug has been marked as a duplicate of bug 51295 ***
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (8 preceding siblings ...)
2011-12-09 16:04 ` paolo.carlini at oracle dot com
@ 2011-12-09 18:13 ` dave at boostpro dot com
2011-12-09 18:28 ` redi at gcc dot gnu.org
` (10 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: dave at boostpro dot com @ 2011-12-09 18:13 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
Dave Abrahams <dave at boostpro dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dave at boostpro dot com
--- Comment #10 from Dave Abrahams <dave at boostpro dot com> 2011-12-09 18:11:41 UTC ---
(In reply to comment #9)
> Ah good, let's resolve as duplicate then. Thanks Daniel.
>
> *** This bug has been marked as a duplicate of bug 51295 ***
But wait! The example I gave was not a test case! The point was that it shows
a defect in traits that detect nothrow constructibility. This bug should be
re-opened.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (9 preceding siblings ...)
2011-12-09 18:13 ` dave at boostpro dot com
@ 2011-12-09 18:28 ` redi at gcc dot gnu.org
2011-12-09 19:11 ` paolo.carlini at oracle dot com
` (9 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: redi at gcc dot gnu.org @ 2011-12-09 18:28 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Last reconfirmed| |2011-12-09
Resolution|DUPLICATE |
Ever Confirmed|0 |1
--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-12-09 18:26:57 UTC ---
Agreed (though it should probably be suspended when there's an LWG issue)
My "corrected" testcase wasn't right, here's another attempt:
#include <type_traits>
struct X
{
X() noexcept;
~X() noexcept(false);
};
static_assert(std::is_nothrow_constructible<X>::value, "fails because of ~X");
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (10 preceding siblings ...)
2011-12-09 18:28 ` redi at gcc dot gnu.org
@ 2011-12-09 19:11 ` paolo.carlini at oracle dot com
2011-12-09 19:46 ` redi at gcc dot gnu.org
` (8 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-09 19:11 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #12 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-09 18:37:37 UTC ---
Thus Daniel was wrong when he said that fixing 51295 automatically renders
correct his current implementation of the trait? I suspect there is a
misunderstanding here: we are in control of both compiler and library, thus, if
I understood Daniel correctly, there is no need to keep this issue open, as if
to force some sort of workaround on the library side. Unless we *really* decide
that we don't want to wait for the front-end to be fixed. Anyway, I'm off,
anything Daniel wants to do for his trait, it's Ok with me.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (11 preceding siblings ...)
2011-12-09 19:11 ` paolo.carlini at oracle dot com
@ 2011-12-09 19:46 ` redi at gcc dot gnu.org
2012-08-12 18:15 ` [Bug libstdc++/51452] [DR 2116] " redi at gcc dot gnu.org
` (7 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: redi at gcc dot gnu.org @ 2011-12-09 19:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-12-09 19:32:28 UTC ---
The issue is what the "correct" definition of the trait is, but I think we need
a DR to clarify it
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] [DR 2116] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (12 preceding siblings ...)
2011-12-09 19:46 ` redi at gcc dot gnu.org
@ 2012-08-12 18:15 ` redi at gcc dot gnu.org
2012-09-26 23:14 ` paolo.carlini at oracle dot com
` (6 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: redi at gcc dot gnu.org @ 2012-08-12 18:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |SUSPENDED
Summary|has_nothrow_.*constructor |[DR 2116]
|bugs |has_nothrow_.*constructor
| |bugs
--- Comment #14 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-08-12 18:14:43 UTC ---
This is http://cplusplus.github.com/LWG/lwg-active.html#2116 so let's suspend
this.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] [DR 2116] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (13 preceding siblings ...)
2012-08-12 18:15 ` [Bug libstdc++/51452] [DR 2116] " redi at gcc dot gnu.org
@ 2012-09-26 23:14 ` paolo.carlini at oracle dot com
2013-02-04 7:29 ` antoshkka at gmail dot com
` (5 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-09-26 23:14 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |cassio.neri at gmail dot
| |com
--- Comment #15 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-09-26 23:13:59 UTC ---
*** Bug 54722 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] [DR 2116] has_nothrow_.*constructor bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (14 preceding siblings ...)
2012-09-26 23:14 ` paolo.carlini at oracle dot com
@ 2013-02-04 7:29 ` antoshkka at gmail dot com
2021-09-06 15:53 ` [Bug libstdc++/51452] [DR 2116] is_nothrow_.*constructible bugs redi at gcc dot gnu.org
` (4 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: antoshkka at gmail dot com @ 2013-02-04 7:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #16 from Antony Polukhin <antoshkka at gmail dot com> 2013-02-04 07:29:16 UTC ---
*** Bug 56191 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] [DR 2116] is_nothrow_.*constructible bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (15 preceding siblings ...)
2013-02-04 7:29 ` antoshkka at gmail dot com
@ 2021-09-06 15:53 ` redi at gcc dot gnu.org
2024-06-20 14:45 ` pinskia at gcc dot gnu.org
` (3 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: redi at gcc dot gnu.org @ 2021-09-06 15:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #17 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #14)
> This is http://cplusplus.github.com/LWG/lwg-active.html#2116 so let's
> suspend this.
Updated link: https://wg21.link/lwg2116
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] [DR 2116] is_nothrow_.*constructible bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (16 preceding siblings ...)
2021-09-06 15:53 ` [Bug libstdc++/51452] [DR 2116] is_nothrow_.*constructible bugs redi at gcc dot gnu.org
@ 2024-06-20 14:45 ` pinskia at gcc dot gnu.org
2024-09-18 17:33 ` mpolacek at gcc dot gnu.org
` (2 subsequent siblings)
20 siblings, 0 replies; 22+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-06-20 14:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #18 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Related to https://cplusplus.github.io/CWG/issues/2886.html also.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] [DR 2116] is_nothrow_.*constructible bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (17 preceding siblings ...)
2024-06-20 14:45 ` pinskia at gcc dot gnu.org
@ 2024-09-18 17:33 ` mpolacek at gcc dot gnu.org
2024-09-18 18:39 ` redi at gcc dot gnu.org
2024-09-18 18:42 ` mpolacek at gcc dot gnu.org
20 siblings, 0 replies; 22+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2024-09-18 17:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|SUSPENDED |NEW
CC| |mpolacek at gcc dot gnu.org
--- Comment #19 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Unsuspending; DR 2116 is C++17.
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] [DR 2116] is_nothrow_.*constructible bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (18 preceding siblings ...)
2024-09-18 17:33 ` mpolacek at gcc dot gnu.org
@ 2024-09-18 18:39 ` redi at gcc dot gnu.org
2024-09-18 18:42 ` mpolacek at gcc dot gnu.org
20 siblings, 0 replies; 22+ messages in thread
From: redi at gcc dot gnu.org @ 2024-09-18 18:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #20 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The core issue maybe, but LWG 2116 isn't, it's still open
^ permalink raw reply [flat|nested] 22+ messages in thread
* [Bug libstdc++/51452] [DR 2116] is_nothrow_.*constructible bugs
2011-12-07 16:56 [Bug libstdc++/51452] New: has_nothrow_.*constructor bugs dave@boost-consulting.com
` (19 preceding siblings ...)
2024-09-18 18:39 ` redi at gcc dot gnu.org
@ 2024-09-18 18:42 ` mpolacek at gcc dot gnu.org
20 siblings, 0 replies; 22+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2024-09-18 18:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51452
--- Comment #21 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Sigh, the DR 2116 in the title confused me...
^ permalink raw reply [flat|nested] 22+ messages in thread