[Bug c++/60272] atomic<>::compare_exchange_weak has spurious store and can cause race conditions
rth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 20 17:44:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60272
--- Comment #4 from Richard Henderson <rth at gcc dot gnu.org> ---
Author: rth
Date: Thu Feb 20 17:43:53 2014
New Revision: 207966
URL: http://gcc.gnu.org/viewcvs?rev=207966&root=gcc&view=rev
Log:
PR c++/60272
gcc/
* builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
on failure the store back into EXPECT.
libatomic/
* cas_n.c (libat_compare_exchange): Conditionalize on failure
the store back to EPTR.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/builtins.c
trunk/libatomic/ChangeLog
trunk/libatomic/cas_n.c
More information about the Gcc-bugs
mailing list