https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59448
torvald at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #25 from torvald at gcc dot gnu.org --- (In reply to Andrew Macleod from comment #24) > Author: amacleod > Date: Wed Jan 14 13:58:35 2015 > New Revision: 219601 > > URL: https://gcc.gnu.org/viewcvs?rev=219601&root=gcc&view=rev > Log: > > 2015-01-14 Andrew MacLeod <amacl...@redhat.com> > > PR middle-end/59448 > * builtins.c (get_memmodel): Promote consume to acquire always. > * testsuite/gcc.dg/atomic-invalid.c: Remove obselete test for illegal > consume in an atomic_exchange. To summarize, Jeff Preshing confirmed that Andrew's patch fixes the problem (see Comment 23). Everyone in ISO C++ seems to agree that promoting consume to acquire is the right approach until we have a different language-level facility that is actually implementable. Therefore, I'm closing this as fixed.