From 6333ad3d459e4734c0cec7eb4e2c89097c9a1466 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Fri, 22 May 2015 10:52:17 +0200 Subject: [multiple changes] 2015-05-21 Robert Dewar * exp_util.adb (Activate_Atomic_Synchronization): Do not set Atomic_Sync_Required for an object renaming declaration. * sem_ch8.adb (Analyze_Object_Renaming): Copy Is_Atomic and Is_Independent to renaming object. 2015-05-21 Ed Schonberg * sem_ch5.adb (Analyze_Iterator_Specification): Diagnose various illegalities in iterators over arrays and containers: a) New function Get_Cursor_Type, to verify that the cursor is not a limited type at the point of iteration. b) If the container is a constant, an element_iterator is illegal if the container type does not have a Constant_Indexing aspect. c) If the iterate function has an in-out controlling parameter, the container cannot be a constant object. d) Reject additional cases of iterators over a discriminant-dependent component of a mutable object. From-SVN: r223524 --- gcc/ada/sem_ch8.adb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gcc/ada/sem_ch8.adb') diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb index 9c564dd98e4..c8c9f1f56dc 100644 --- a/gcc/ada/sem_ch8.adb +++ b/gcc/ada/sem_ch8.adb @@ -1344,6 +1344,13 @@ package body Sem_Ch8 is Set_Is_Volatile (Id, Is_Volatile_Object (Nam)); + -- Also copy settings of Is_Atomic and Is_Independent + + if Is_Entity_Name (Nam) then + Set_Is_Atomic (Id, Is_Atomic (Entity (Nam))); + Set_Is_Independent (Id, Is_Independent (Entity (Nam))); + end if; + -- Treat as volatile if we just set the Volatile flag if Is_Volatile (Id) -- cgit v1.2.1