Created on 2010-08-25.00:00:00 last changed 183 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 | |