https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63805
--- Comment #13 from Alan Modra <amodra at gmail dot com> --- Note that testcases with smaller atomic ops fail too, but at runtime. For example: struct foo { char pad; char x[4]; } a; int bar (int val) { int ret; __atomic_exchange (&a.x, &val, &ret, 5); return ret; } int main () { return bar (42); } Fails with a bus error.