http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55981
--- Comment #2 from Evgeniy Stepanov <eugeni.stepanov at gmail dot com> 2013-01-14 22:48:08 UTC --- Btw, the same happens if atomic is replaced with "volatile unsigned long y" - which does not violate the standard, but may be considered undesirable by some. I don't have a strong opinion about this.