> Tested on x86_64-pc-linux-gnu, committed on trunk
>
> 2012-05-15 Eric Botcazou
>
> * sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
> atomicity from an object to its underlying type only if it
> is composite.
Backported to the 4.7 branch after testing on x86/ and P
The front-end uses a trick to accept a pragma Atomic on objects whose type
isn't directly suitable for the pragma: if the type is declared in the same
unit as the object, the front-end propagates under the hood the atomicity
from the object to the type.
This can have unwanted effects, most notably