[PATCH] Fix <atomic> in -std=c++2a mode (PR libstdc++/89641)

Jonathan Wakely jwakely@redhat.com
Mon Mar 11 11:34:00 GMT 2019


On 11/03/19 08:58 +0100, Jakub Jelinek wrote:
>On Sun, Mar 10, 2019 at 10:36:08PM +0100, Jakub Jelinek wrote:
>> Ok for trunk if normal bootstrap/regtest succeeds (i.e. including the default flags
>> testing)?
>
>Normal bootstrap/regtest on x86_64-linux and i686-linux succeeded too.
>
>> 2019-03-10  Jakub Jelinek  <jakub@redhat.com>
>>
>> 	PR libstdc++/89641
>> 	* include/std/atomic (atomic<T>::store, atomic<T>::load,
>> 	atomic<T>::exchange, atomic<T>::compare_exchange_weak,
>> 	atomic<T>::compare_exchange_strong): Cast __m or __s and __f to int.
>> 	* include/bits/atomic_base.h (__atomic_base<T>::operator++,
>> 	__atomic_base<T>::operator--, __atomic_base<T>::operator+=,
>> 	__atomic_base<T>::operator-=, __atomic_base<T>::operator&=,
>> 	__atomic_base<T>::operator|=, __atomic_base<T>::operator^=,
>> 	__atomic_base<T*>::operator++, __atomic_base<T*>::operator--,
>> 	__atomic_base<T*>::operator+=, __atomic_base<T*>::operator-=): Cast
>> 	memory_order_seq_cst to int.

OK for trunk, thanks.

I'll make sure we have a test that runs routinely with -std=gnu++2a.



More information about the Gcc-patches mailing list