Created on 2010-08-25.00:00:00 last changed 170 months ago
Proposed resolution:
namespace std { template <class T> struct atomic<T*>: atomic_address{ [..] }; [..] }
4 There are pointer partial specializations on the atomic class template.
These specializations shall be publicly derived from atomic_address.The unit of addition/subtraction for these specializations shall be the size of the referenced type. These specializations shall have trivial default constructors and trivial destructors.
[ Resolved in Batavia by accepting n3193. ]
Addresses US-163
Requiring atomic<T*> to be derived from atomic_address breaks type safety:
atomic<double*> ip; char ch; atomic_store(&ip, &ch); *ip.load() = 3.14159;
The last line overwrites ch with a value of type double.
History | |||
---|---|---|---|
Date | User | Action | Args |
2010-11-18 12:46:23 | admin | set | status: nad editorial -> resolved |
2010-11-13 02:14:14 | admin | set | messages: + msg5348 |
2010-11-13 02:14:14 | admin | set | status: open -> nad editorial |
2010-10-27 20:02:48 | admin | set | messages: + msg5169 |
2010-10-27 20:02:48 | admin | set | messages: + msg5168 |
2010-08-25 00:00:00 | admin | create |