freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic component type as...
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 7 Jan 2015 08:45:17 +0000 (08:45 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 7 Jan 2015 08:45:17 +0000 (09:45 +0100)
2015-01-07  Eric Botcazou  <ebotcazou@adacore.com>

* freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic
component type as to Has_Atomic_Components type.  Remove useless
test on Is_Aliased component type.

From-SVN: r219281

gcc/ada/ChangeLog
gcc/ada/freeze.adb

index 39b20091d498a2ab79a6be38ec1d959e711130b9..bceb082d1faa159543287ef9aa1c6de24d556a33 100644 (file)
@@ -1,3 +1,9 @@
+2015-01-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * freeze.adb (Freeze_Array_Type): Apply same handling to Is_Atomic
+       component type as to Has_Atomic_Components type.  Remove useless
+       test on Is_Aliased component type.
+
 2015-01-07  Hristian Kirtchev  <kirtchev@adacore.com>
 
        * alloc.ads Alphabetize several declarations. Add constants
index 52d1118afa27e98cc275edabbb8b0de543f24381..a8acdc33c6096f80ad3670a12c98c2a8ff3e5213 100644 (file)
@@ -2431,12 +2431,12 @@ package body Freeze is
                end if;
             end;
 
-            --  Check for Atomic_Components or Aliased with unsuitable packing
-            --  or explicit component size clause given.
+            --  Check for Aliased or Atomic_Components/Atomic with unsuitable
+            --  packing or explicit component size clause given.
 
-            if (Has_Atomic_Components  (Arr)
+            if (Has_Aliased_Components (Arr)
                   or else
-                Has_Aliased_Components (Arr))
+                Has_Atomic_Components (Arr) or else Is_Atomic (Ctyp))
               and then
                 (Has_Component_Size_Clause (Arr) or else Is_Packed (Arr))
             then
@@ -2503,13 +2503,10 @@ package body Freeze is
                   then
                      null;
 
-                  elsif Has_Aliased_Components (Arr)
-                    or else Is_Aliased (Ctyp)
-                  then
+                  elsif Has_Aliased_Components (Arr) then
                      Complain_CS ("aliased");
 
-                  elsif Has_Atomic_Components (Arr)
-                    or else Is_Atomic (Ctyp)
+                  elsif Has_Atomic_Components (Arr) or else Is_Atomic (Ctyp)
                   then
                      Complain_CS ("atomic");
                   end if;