On Fri, 26 Jul 2013, Andrew MacLeod wrote: > What it doesn't do:
* It doesn't implement the stdatomic.h header - do you intend that to be provided by GCC or glibc? (Substantive review of the full patch still to come.) > * It doesn't implement the C11 expression expansion into atomic built-ins. > ie, you can't write: > _Atomic int x; > x = 0; > and have the result be an atomic operation calling __atomic_store (&x, > 0). That will be in a follow on patch. So none of the expression expansion > from C11 is included yet. This just enables that. The hardest part will probably be compound assignment to an atomic object where either operand of the assignment has floating-point type - see C11 footnote 113, but you can't actually use feholdexcept or feclearexcept or feupdateenv here because that would introduce libm dependencies, so back ends will need to provide appropriate insn patterns to do those operations inline. -- Joseph S. Myers jos...@codesourcery.com