https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125411

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
There are no separate atomic builtins for different pointer types, only for
different sizes, so even if we wanted, e.g. on a target with sizeof (long) ==
sizeof (long long) == sizeof (void *) == sizeof (double) we have to assume
64-bit atomic_store needs to alias any 64-bit type, so at least long/long
long/anything */double/unsigned long/_BitInt(64) etc.
And whether one can use say 4/8 8-bit atomic_stores to consequent bytes vs. one
32-bit/64-bit atomic_store is a question too.
SO, all we could use here is the restrict keyword perhaps.

Reply via email to