Deprecating arithmetic on std::atomic<void*>
Florian Weimer
fweimer@redhat.com
Thu Apr 20 09:43:00 GMT 2017
On 04/20/2017 11:25 AM, Jonathan Wakely wrote:
>> I mean, with -pedantic-errors we already error on void * arighmetics
>> or function pointer arithmetics. If std::atomic<void*> would use
>> the void * arithmetics, it would also reject it. Or does it use integer
>> arithmetics instead?
>
> No, it does it on void*, but the __atomic built-ins still perform that
> arithmetic even with -pedantic-errors.
sizeof is not defined for the relevant types, either, and already
triggers a warning by default:
t.cc:25:58: warning: invalid application of âsizeofâ to a void type
[-Wpointer-arith]
_M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); }
I think the actual problem here is the suppression of warnings from
system headers.
Florian
More information about the Libstdc++
mailing list