This change removes an old trick which was propagating the Atomic (and now Volatile_Full_Access) setting from an object to a locally-defined type, in order to coax gigi into accepting more atomic objects. This trick is now obsolete since gigi should be able to rewrite the type of the objects to meet the atomicity requirements on its own. The change also rewrites Is_Atomic_VFA_Aggregate to check for the presence of the flag on the object as well, which was missing but largely mitigated by the aforementioned trick. No functional changes. Tested on x86_64-pc-linux-gnu, committed on trunk 2015-05-26 Eric Botcazou * freeze.ads (Is_Atomic_VFA_Aggregate): Adjust profile. * freeze.adb (Is_Atomic_VFA_Aggregate): Change Entity parameter into Node parameter and remove Type parameter. Look at Is_Atomic_Or_VFA both on the type and on the object. (Freeze_Entity): Adjust call to Is_Atomic_VFA_Aggregate. * exp_aggr.adb (Expand_Record_Aggregate): Likewise. (Process_Atomic_Independent_Shared_Volatile): Remove code propagating Atomic or VFA from object to locally-defined type.