Created on 2012-07-19.00:00:00 last changed 122 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 | |