This message improves the syntax and semantics of the description I have provided when I registered the bug report. Description: Routines such as atomic_add() that read a memory location, apply operations to the value read, use the swp instruction to update the memory location and swp again if the value read the 2nd time doesn't equal the value initially read, introduce a race condition. The attachment illustrates such a case. Robin http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=3584&database=gcc