Laut https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html gibt es:
type __atomic_load_n (type *ptr, int memorder)
und (das "generische"):
void __atomic_load (type *ptr, type *ret, int memorder)
dann
void __atomic_store_n (type *ptr, type val, int memorder)
und ("das Generikum")
void __atomic_store (type *ptr, type *val, int memorder)
usw.
Was ist generisch an den letzteren Versionen (das ist nicht generisch an den ersteren) und warum werden sie benötigt?
quelle