Created on 2012-07-19.00:00:00 last changed 111 months ago
[ 2015-10, Kona ]
Mark as resolved
[ 2015-04-09 Daniel comments ]
CWG issue 1778, which had been created in behalf of this LWG issue, has been resolved as a defect.
[ 2012, Portland: move to Core ]
Recommend referring to core to see if the constructor noexcept mismatch can be resolved there. The issue is not specific to concurrency.
As raised in c++std-lib-32781, this fails to compile even though the default constructor is not used:
#include <atomic> struct X { X() noexcept(false) {} X(int) { } }; std::atomic<X> x(3);
This is because atomic<T>'s default constructor is declared to be non-throwing and is explicitly-defaulted on its first declaration:
atomic() noexcept = default;
This is ill-formed if the implicitly-declared default constructor would not be non-throwing.
Possible solutions:History | |||
---|---|---|---|
Date | User | Action | Args |
2015-11-04 18:48:42 | admin | set | messages: + msg7618 |
2015-11-04 18:48:42 | admin | set | status: core -> resolved |
2015-04-09 17:13:11 | admin | set | messages: + msg7341 |
2012-11-02 22:48:46 | admin | set | messages: + msg6253 |
2012-11-02 22:48:46 | admin | set | status: new -> core |
2012-07-19 00:00:00 | admin | create |