[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Mon, 23 Jul 2012 08:01:22 +0000 (10:01 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 23 Jul 2012 08:01:22 +0000 (10:01 +0200)
2012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now
a local variable. Retrieve the related instance when processing
a subprogram instantiation. Such instances appear as wrapper
packages.

2012-07-23  Vincent Pucci  <pucci@adacore.com>

* system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
system-hpux.ads, system-linux-alpha.ads,
system-linux-hppa.ads, system-linux-ppc.ads,
system-linux-s390.ads, system-linux-s390x.ads,
system-linux-sh4.ads, system-linux-sparc.ads,
system-lynxos-ppc.ads, system-mingw.ads,
system-solaris-sparc.ads, system-solaris-sparcv9.ads,
system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads,
system-vxworks-mips.ads, system-vxworks-ppc.ads,
system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False.
* system-darwin-x86.ads, system-darwin-x86_64.ads,
system-freebsd-x86.ads, system-freebsd-x86_64.ads,
system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads,
system-linux-x86_64.ads, system-lynxos-x86.ads,
system-mingw-x86_64.ads, system-solaris-x86.ads,
system-solaris-x86_64.ads, system-vms-ia64.ads,
system-vxworks-x86.ads: Support_Atomic_Primitives set to True.
* s-atopri.adb (Lock_Free_Read_X): New body.
(Lock_Free_Try_Write_X): Support_Atomic_Primitives check added.
(Lock_Free_Try_Write_64): New body.
* s-atopri.ads: New type uint.
(Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic
import.
(Lock_Free_Read_X): Body moved to s-atopri.adb.
(Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X
routines.
* targparm.adb: New enumeration literal SAP
(Support_Atomic_Primitives) for type Targparm_Tags. New constant
SAP_Str. New component SAP_Str'Access for array Targparm_Str.
(Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target
flag.
* targparm.ads: New back-end code generation flag
Support_Atomic_Primitives_On_Target

2012-07-23  Vincent Pucci  <pucci@adacore.com>

* gnat_ugn.texi: Dimensionality checking documentation updated.

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Make_Inline): If the pragma applies to a
subprogram renaming, set inline flags on both the renamed entity
and on the renaming, so that some ASIS queries can be handled
consistently in the absence of expansion.

From-SVN: r189772

43 files changed:
gcc/ada/ChangeLog
gcc/ada/gnat_ugn.texi
gcc/ada/s-atopri.adb
gcc/ada/s-atopri.ads
gcc/ada/sem_ch12.adb
gcc/ada/sem_prag.adb
gcc/ada/system-aix.ads
gcc/ada/system-aix64.ads
gcc/ada/system-darwin-ppc.ads
gcc/ada/system-darwin-x86.ads
gcc/ada/system-darwin-x86_64.ads
gcc/ada/system-freebsd-x86.ads
gcc/ada/system-freebsd-x86_64.ads
gcc/ada/system-hpux-ia64.ads
gcc/ada/system-hpux.ads
gcc/ada/system-linux-alpha.ads
gcc/ada/system-linux-hppa.ads
gcc/ada/system-linux-ia64.ads
gcc/ada/system-linux-ppc.ads
gcc/ada/system-linux-s390.ads
gcc/ada/system-linux-s390x.ads
gcc/ada/system-linux-sh4.ads
gcc/ada/system-linux-sparc.ads
gcc/ada/system-linux-x86.ads
gcc/ada/system-linux-x86_64.ads
gcc/ada/system-lynxos-ppc.ads
gcc/ada/system-lynxos-x86.ads
gcc/ada/system-mingw-x86_64.ads
gcc/ada/system-mingw.ads
gcc/ada/system-solaris-sparc.ads
gcc/ada/system-solaris-sparcv9.ads
gcc/ada/system-solaris-x86.ads
gcc/ada/system-solaris-x86_64.ads
gcc/ada/system-vms-ia64.ads
gcc/ada/system-vms_64.ads
gcc/ada/system-vxworks-arm.ads
gcc/ada/system-vxworks-m68k.ads
gcc/ada/system-vxworks-mips.ads
gcc/ada/system-vxworks-ppc.ads
gcc/ada/system-vxworks-sparcv9.ads
gcc/ada/system-vxworks-x86.ads
gcc/ada/targparm.adb
gcc/ada/targparm.ads

index 0d06faf842b0fcd78a593eb38a14de1574981538..b24acecf69a3fbacd8600034b64a5afa4f702645 100644 (file)
@@ -1,3 +1,57 @@
+2012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>
+
+       * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now
+       a local variable. Retrieve the related instance when processing
+       a subprogram instantiation. Such instances appear as wrapper
+       packages.
+
+2012-07-23  Vincent Pucci  <pucci@adacore.com>
+
+       * system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
+       system-hpux.ads, system-linux-alpha.ads,
+       system-linux-hppa.ads, system-linux-ppc.ads,
+       system-linux-s390.ads, system-linux-s390x.ads,
+       system-linux-sh4.ads, system-linux-sparc.ads,
+       system-lynxos-ppc.ads, system-mingw.ads,
+       system-solaris-sparc.ads, system-solaris-sparcv9.ads,
+       system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads,
+       system-vxworks-mips.ads, system-vxworks-ppc.ads,
+       system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False.
+       * system-darwin-x86.ads, system-darwin-x86_64.ads,
+       system-freebsd-x86.ads, system-freebsd-x86_64.ads,
+       system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads,
+       system-linux-x86_64.ads, system-lynxos-x86.ads,
+       system-mingw-x86_64.ads, system-solaris-x86.ads,
+       system-solaris-x86_64.ads, system-vms-ia64.ads,
+       system-vxworks-x86.ads: Support_Atomic_Primitives set to True.
+       * s-atopri.adb (Lock_Free_Read_X): New body.
+       (Lock_Free_Try_Write_X): Support_Atomic_Primitives check added.
+       (Lock_Free_Try_Write_64): New body.
+       * s-atopri.ads: New type uint.
+       (Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic
+       import.
+       (Lock_Free_Read_X): Body moved to s-atopri.adb.
+       (Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X
+       routines.
+       * targparm.adb: New enumeration literal SAP
+       (Support_Atomic_Primitives) for type Targparm_Tags. New constant
+       SAP_Str. New component SAP_Str'Access for array Targparm_Str.
+       (Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target
+       flag.
+       * targparm.ads: New back-end code generation flag
+       Support_Atomic_Primitives_On_Target
+
+2012-07-23  Vincent Pucci  <pucci@adacore.com>
+
+       * gnat_ugn.texi: Dimensionality checking documentation updated.
+
+2012-07-23  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_prag.adb (Make_Inline): If the pragma applies to a
+       subprogram renaming, set inline flags on both the renamed entity
+       and on the renaming, so that some ASIS queries can be handled
+       consistently in the absence of expansion.
+
 2012-07-23  Fedor Rybin  <frybin@adacore.com>
 
        * gnat_ugn.texi: Removing obsolete limitation of gnattest
index a9eccf205a45716190b08bea08b14173ba4f41e0..934db21f2c44fb78a8ddfce5f269a12560b43ccc 100644 (file)
@@ -18784,13 +18784,13 @@ are rejected with the following diagnoses:
 @smallexample
    Distance := 5.0;
       >>> dimensions mismatch in assignment
-      >>> left-hand side has dimensions (1, 0, 0, 0, 0, 0, 0)
+      >>> left-hand side has dimension [L]
       >>> right-hand side is dimensionless
 
    Distance := 5.0 * kg:
       >>> dimensions mismatch in assignment
-      >>> left-hand side has dimensions  (1, 0, 0, 0, 0, 0, 0)
-      >>> right-hand side has dimensions (0, 1, 0, 0, 0, 0, 0)
+      >>> left-hand side has dimension [L]
+      >>> right-hand side has dimension [M]
 @end smallexample
 
 @noindent
index 1977ba43598cbf549b30061f1fc6e89ea284cb06..d856c8c3cc81a879af8329d5bc5f5d7f470c3dc6 100644 (file)
 
 package body System.Atomic_Primitives is
 
+   ----------------------
+   -- Lock_Free_Read_8 --
+   ----------------------
+
+   function Lock_Free_Read_8 (Ptr : Address) return uint8 is
+   begin
+      if Support_Atomic_Primitives then
+         return Atomic_Load_8 (Ptr, Acquire);
+      else
+         raise Program_Error;
+      end if;
+   end Lock_Free_Read_8;
+
+   ----------------------
+   -- Lock_Free_Read_16 --
+   ----------------------
+
+   function Lock_Free_Read_16 (Ptr : Address) return uint16 is
+   begin
+      if Support_Atomic_Primitives then
+         return Atomic_Load_16 (Ptr, Acquire);
+      else
+         raise Program_Error;
+      end if;
+   end Lock_Free_Read_16;
+
+   ----------------------
+   -- Lock_Free_Read_32 --
+   ----------------------
+
+   function Lock_Free_Read_32 (Ptr : Address) return uint32 is
+   begin
+      if Support_Atomic_Primitives then
+         return Atomic_Load_32 (Ptr, Acquire);
+      else
+         raise Program_Error;
+      end if;
+   end Lock_Free_Read_32;
+
+   ----------------------
+   -- Lock_Free_Read_64 --
+   ----------------------
+
+   function Lock_Free_Read_64 (Ptr : Address) return uint64 is
+   begin
+      if Support_Atomic_Primitives then
+         return Atomic_Load_64 (Ptr, Acquire);
+      else
+         raise Program_Error;
+      end if;
+   end Lock_Free_Read_64;
+
    ---------------------------
    -- Lock_Free_Try_Write_8 --
    ---------------------------
@@ -44,7 +96,12 @@ package body System.Atomic_Primitives is
 
    begin
       if Expected /= Desired then
-         Actual := Sync_Compare_And_Swap_8 (Ptr, Expected, Desired);
+
+         if Support_Atomic_Primitives then
+            Actual := Sync_Compare_And_Swap_8 (Ptr, Expected, Desired);
+         else
+            raise Program_Error;
+         end if;
 
          if Actual /= Expected then
             Expected := Actual;
@@ -68,7 +125,12 @@ package body System.Atomic_Primitives is
 
    begin
       if Expected /= Desired then
-         Actual := Sync_Compare_And_Swap_16 (Ptr, Expected, Desired);
+
+         if Support_Atomic_Primitives then
+            Actual := Sync_Compare_And_Swap_16 (Ptr, Expected, Desired);
+         else
+            raise Program_Error;
+         end if;
 
          if Actual /= Expected then
             Expected := Actual;
@@ -92,7 +154,12 @@ package body System.Atomic_Primitives is
 
    begin
       if Expected /= Desired then
-         Actual := Sync_Compare_And_Swap_32 (Ptr, Expected, Desired);
+
+         if Support_Atomic_Primitives then
+            Actual := Sync_Compare_And_Swap_32 (Ptr, Expected, Desired);
+         else
+            raise Program_Error;
+         end if;
 
          if Actual /= Expected then
             Expected := Actual;
@@ -102,4 +169,33 @@ package body System.Atomic_Primitives is
 
       return True;
    end Lock_Free_Try_Write_32;
+
+   ----------------------------
+   -- Lock_Free_Try_Write_64 --
+   ----------------------------
+
+   function Lock_Free_Try_Write_64
+      (Ptr      : Address;
+       Expected : in out uint64;
+       Desired  : uint64) return Boolean
+   is
+      Actual : uint64;
+
+   begin
+      if Expected /= Desired then
+
+         if Support_Atomic_Primitives then
+            Actual := Sync_Compare_And_Swap_64 (Ptr, Expected, Desired);
+         else
+            raise Program_Error;
+         end if;
+
+         if Actual /= Expected then
+            Expected := Actual;
+            return False;
+         end if;
+      end if;
+
+      return True;
+   end Lock_Free_Try_Write_64;
 end System.Atomic_Primitives;
index 80eeb5ec41b71e36e3b9045a775fe5d1813ee640..ba4b73351aa1c32385b7ff2ce11994a340c42fc4 100644 (file)
@@ -36,6 +36,8 @@
 package System.Atomic_Primitives is
    pragma Preelaborate;
 
+   type uint is mod 2 ** Long_Integer'Size;
+
    type uint8  is mod 2**8
      with Size => 8;
 
@@ -121,10 +123,10 @@ package System.Atomic_Primitives is
    function Sync_Compare_And_Swap_64
      (Ptr      : Address;
       Expected : uint64;
-      Desired  : uint64) return Boolean;
+      Desired  : uint64) return uint64;
    pragma Import (Intrinsic,
                   Sync_Compare_And_Swap_64,
-                  "__sync_bool_compare_and_swap_8");
+                  "__sync_val_compare_and_swap_8");
 
    --------------------------
    -- Lock-free operations --
@@ -139,18 +141,13 @@ package System.Atomic_Primitives is
    --  * Lock_Free_Try_Write_N tries to write the Desired value into Ptr only
    --    if Expected and Desired mismatch.
 
-   function Lock_Free_Read_8 (Ptr : Address) return uint8 is
-     (Atomic_Load_8 (Ptr, Acquire));
+   function Lock_Free_Read_8 (Ptr : Address) return uint8;
 
-   function Lock_Free_Read_16 (Ptr : Address) return uint16 is
-      (Atomic_Load_16 (Ptr, Acquire));
+   function Lock_Free_Read_16 (Ptr : Address) return uint16;
 
-   function Lock_Free_Read_32 (Ptr : Address) return uint32 is
-      (Atomic_Load_32 (Ptr, Acquire));
+   function Lock_Free_Read_32 (Ptr : Address) return uint32;
 
-   function Lock_Free_Read_64
-     (Ptr : Address;
-      Model : Mem_Model := Seq_Cst) return uint64 renames Atomic_Load_64;
+   function Lock_Free_Read_64 (Ptr : Address) return uint64;
 
    function Lock_Free_Try_Write_8
       (Ptr      : Address;
@@ -169,8 +166,8 @@ package System.Atomic_Primitives is
 
    function Lock_Free_Try_Write_64
       (Ptr      : Address;
-       Expected : uint64;
-       Desired  : uint64) return Boolean renames Sync_Compare_And_Swap_64;
+       Expected : in out uint64;
+       Desired  : uint64) return Boolean;
 
    pragma Inline (Lock_Free_Read_8);
    pragma Inline (Lock_Free_Read_16);
index b2be58fec8e3f1ed316c2f1998796451d37d212a..0f2d254013c19fb7d2dc495f2fc5ba5db346449e 100644 (file)
@@ -7852,9 +7852,9 @@ package body Sem_Ch12 is
      (N      : Node_Id;
       F_Node : Node_Id)
    is
-      Inst  : constant Entity_Id := Entity (F_Node);
       Decl  : Node_Id;
       Decls : List_Id;
+      Inst  : Entity_Id;
       Par_N : Node_Id;
 
       function Enclosing_Body (N : Node_Id) return Node_Id;
@@ -7921,9 +7921,18 @@ package body Sem_Ch12 is
 
    begin
       if not Is_List_Member (F_Node) then
+         Decl  := N;
          Decls := List_Containing (N);
+         Inst  := Entity (F_Node);
          Par_N := Parent (Decls);
-         Decl  := N;
+
+         --  When processing a subprogram instantiation, utilize the actual
+         --  subprogram instantiation rather than its package wrapper as it
+         --  carries all the context information.
+
+         if Is_Wrapper_Package (Inst) then
+            Inst := Related_Instance (Inst);
+         end if;
 
          --  If this is a package instance, check whether the generic is
          --  declared in a previous instance and the current instance is
index 372ad8ef29e6be26756dfc3526415e81ab2375f4..8a67b471d8de80c346344cdeca5b2fea54349424 100644 (file)
@@ -4941,6 +4941,15 @@ package body Sem_Prag is
                   then
                      Error_Msg_N
                        ("Inline cannot apply to a formal subprogram", N);
+
+                  --  If Subp is a renaming, it is the renamed entity that
+                  --  will appear in any call, and be inlined. However, for
+                  --  ASIS uses it is convenient to indicate that the renaming
+                  --  itself is an inlined subprogram, so that some gnatcheck
+                  --  rules can be applied in the absence of expansion.
+
+                  elsif Nkind (Decl) = N_Subprogram_Renaming_Declaration then
+                     Set_Inline_Flags (Subp);
                   end if;
                end if;
 
index 3f91af51ecc3084f53b2db5ba3d96eca51b29b69..2dfe3988fcc6bf7eaf9ac1fc073fb6f99b24b857 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                            (AIX/PPC Version)                             --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -142,6 +142,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 4ad3756042ba48731ca20d1aa1b02f081da81a05..a06b1d2123eb3d405a2a329b3ae72e5fb77663af 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                           (PPC/AIX64 Version)                            --
 --                                                                          --
---          Copyright (C) 2009-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 2009-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -142,6 +142,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 79894e5c3605e7042fbbce922e0e84fab503ae96..45668c998081cac1d784b1e8eb13eb0e4511238a 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                          (Darwin/PPC Version)                            --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -158,6 +158,7 @@ private
    Stack_Check_Probes        : constant Boolean := False;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index efd93f63c203ed4ffc6ae691a3c735443654c4f1..908cf50de153c4c7773c819ac89adaebf82e4912 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                          (Darwin/x86 Version)                            --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -158,6 +158,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 27f1241616dd8b56e6e6613014e8aa097354864b..0e5e8c027270708431ee22b6fa908a983e559c9c 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                         (Darwin/x86_64 Version)                          --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -158,6 +158,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index cb03d56d434f322f687bfd8733f2efe25e8a6e22..57bff62938b562811e76ea05420031c9e056f657 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                          (FreeBSD/x86 Version)                           --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 8f523a20ff83b300e4125ab12e71655b864a3f4a..e99578d97f6ac991b08f14bd1ce486b8eef4450a 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                         (FreeBSD/x86_64 Version)                         --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 29b2a49152e73d574edceaa4e3f9d630bb916e79..c1f2f94962b10e07c79a1afe7cba03b36605972e 100644 (file)
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index f32ea6f494815eb66c16349356d357f8f7ee3d63..899a96c94c7b81445af15a21874a0b3a874aea1a 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                             (HP-UX Version)                              --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 154c01bf6c570c1961ae33990b676cbac4cfcdb9..9a1eb21df0173258b2704efccea91c02bc55dbdb 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                        (GNU-Linux/alpha Version)                         --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -130,6 +130,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 3b4bb27003678fd5d99e4b41104d94f6f57a6865..a23c2ead89e63b31ed77ca05307bf876d9023379 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                        (GNU/Linux-HPPA Version)                          --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 11be8491d270cdd6f1c74fb49d6fe38cd0568cd1..c0cb6643c92fc87361fb652532e54c6bdd8db95b 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                        (GNU-Linux/ia64 Version)                          --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -140,6 +140,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index cbd814341ed4afef53df7a627a4617ecc65b5ee4..b967b147b4614d8a7cb4d340f74b4118000fea9c 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                         (GNU-Linux/PPC Version)                          --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -140,6 +140,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 19ad00025ad01ce3c3922a992e291411430dff3f..8a5920534c2935bab2c005a91e3dce85870322b5 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                          (GNU-Linux/s390 Version)                        --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -130,6 +130,7 @@ private
    Stack_Check_Probes        : constant Boolean := False;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 6ed5749aafd73881e6439fa1499f2ea4f5408e2d..028d055fa21264832fbcc0b55861688790c2d48b 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                          (GNU-Linux/s390x Version)                       --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -130,6 +130,7 @@ private
    Stack_Check_Probes        : constant Boolean := False;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 344b7ef541ebc2a973ed68699bee335e9defaddf..67f290c5042e94947c2b5bb7d9e18a51e8148a60 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                         (GNU-Linux/sh4 Version)                          --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -140,6 +140,7 @@ private
    Stack_Check_Probes        : constant Boolean := False;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 1f4f2207d45c4922855d23d18e68cbe20c17f09a..94155cfe43b96acb81f6137f00c73ba516b9d060 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                          (GNU/Linux-SPARC Version)                       --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -130,6 +130,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index c0bd494d020bba79dee566d2a53e0ea283ce3e95..270ed06cae697854b1a608fd7d37faeac679067b 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                         (GNU-Linux/x86 Version)                          --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -140,6 +140,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 1fd23fc4a12a4739d9ff99d73cc3a07f3b6bf531..4c315d11cc04f34f95fb2371c1566b6facfdcb62 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                       (GNU-Linux/x86-64 Version)                         --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -140,6 +140,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 8d718c83fe8ef84c9f4b6bfa0b3d71193ff187a3..7419ecef9880245508c674cc7acb4b50f86171b2 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                           (LynxOS PPC Version)                           --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -146,6 +146,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 18a4a3606b0e10fd0c0603e13c40a29799ce899f..70adfa98e191fbf69f9dd7e5df07204f4f424ffc 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                           (LynxOS x86 Version)                           --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -146,6 +146,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 9464259f68fc2ee36c14c0846e9c648ccbdab0ad..b0b122216a8843ef5db5f63a42d1102595b48350 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                            (Windows Version)                             --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 9753650e9185f2401e0efe54c48cb3ae3659c189..7787984f2aa7235225924b9f3ed26df94ad1660f 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                            (Windows Version)                             --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 1afb18b1f47aaa71e0fd973ebddd5ab36045ea1f..1b5d4c0d2168a7f4e7401f60bcc529bd0d972a2b 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                          (SUN Solaris Version)                           --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 4929c75a1dbd89966ab5c8cb9f69ace2b5a8dd79..5d1015437d72ec4f3bcbf0a6e133a5bbfe70c76f 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                        (Solaris Sparcv9 Version)                         --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index cd722e349fbc79f59ff04a1c3f8ddc9a9455684d..3987ea87ea15dbdf9a85a6ea77c79b4fafe01797 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                          (x86 Solaris Version)                           --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 4f336780791fabbd8d105f9543daffe41fb7ab45..ed78923483f0c35049c416d392153f7a9ff611f8 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                        (x86-64 Solaris Version)                          --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -132,6 +132,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 010de3d13de2cfb29874d82c8aded2967c2c92ad..f8ed51afad81eb7a7470af7a49f73159967dd163 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --            (OpenVMS 64bit Itanium GCC_ZCX DEC Threads Version)           --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -150,6 +150,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 11f2853ad2d0712d3aa9925514af04f1353e3904..9a55d3598a7a64ea5fc38702cd6fd89bb045b5a1 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                (OpenVMS 64bit GCC_ZCX DEC Threads Version)               --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -150,6 +150,7 @@ private
    Stack_Check_Probes        : constant Boolean := True;
    Stack_Check_Limits        : constant Boolean := False;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 484d40d95c7cd85995d041088ca68e85d70543cd..019458db20d25542338a728095cd25952e6b14c5 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                          (VxWorks Version ARM)                           --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -145,6 +145,7 @@ private
    Stack_Check_Probes        : constant Boolean := False;
    Stack_Check_Limits        : constant Boolean := True;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 429ca5d5a575c89d7c9003a775be3d588d217d2f..99b7cd3ea8b0644ab11e839acb6bb7062a3f6d04 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                          (VxWorks version M68K)                          --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -145,6 +145,7 @@ private
    Stack_Check_Probes        : constant Boolean := False;
    Stack_Check_Limits        : constant Boolean := True;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 3dbb835704de8d3b9d0d75a79bdd0c7fe745124b..1183ed7abdda09801d27d87d7def373cb20528c2 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                         (VxWorks Version Mips)                           --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -145,6 +145,7 @@ private
    Stack_Check_Probes        : constant Boolean := False;
    Stack_Check_Limits        : constant Boolean := True;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 62d604f63192f2c1dbc77d0697a7f3edb822d8fb..d1b75d00cf6e4512a1f4d4d4e6a7deb69a14703d 100644 (file)
@@ -154,6 +154,7 @@ private
    Stack_Check_Probes        : constant Boolean := False;
    Stack_Check_Limits        : constant Boolean := True;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 856161f1006a66cd4b4a69de5395165c5eaa5e39..edf4af4ccad86d882513964e8f7cd24e1f1b743f 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                       (VxWorks Version Sparc/64)                         --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -147,6 +147,7 @@ private
    Stack_Check_Probes        : constant Boolean := False;
    Stack_Check_Limits        : constant Boolean := True;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := False;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 14388d87207f50982fd1729dfd9ef247d446086d..a2df22b038c98ea093c9bb50a3d4fed9a786e74b 100644 (file)
@@ -7,7 +7,7 @@
 --                                 S p e c                                  --
 --                         (VxWorks 5 Version x86)                          --
 --                                                                          --
---          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2012, Free Software Foundation, Inc.         --
 --                                                                          --
 -- This specification is derived from the Ada Reference Manual for use with --
 -- GNAT. The copyright notice above, and the license provisions that follow --
@@ -145,6 +145,7 @@ private
    Stack_Check_Probes        : constant Boolean := False;
    Stack_Check_Limits        : constant Boolean := True;
    Support_Aggregates        : constant Boolean := True;
+   Support_Atomic_Primitives : constant Boolean := True;
    Support_Composite_Assign  : constant Boolean := True;
    Support_Composite_Compare : constant Boolean := True;
    Support_Long_Shifts       : constant Boolean := True;
index 193858ac89823685550e7a72eb072535e6c23561..ae801555d0b413707252b8015e2c0aa7d350d9a0 100644 (file)
@@ -57,6 +57,7 @@ package body Targparm is
       PAS,  --   Preallocated_Stacks
       RTX,  --   RTX_RTSS_Kernel_Module
       SAG,  --   Support_Aggregates
+      SAP,  --   Support_Atomic_Primitives
       SCA,  --   Support_Composite_Assign
       SCC,  --   Support_Composite_Compare
       SCD,  --   Stack_Check_Default
@@ -93,6 +94,7 @@ package body Targparm is
    PAS_Str : aliased constant Source_Buffer := "Preallocated_Stacks";
    RTX_Str : aliased constant Source_Buffer := "RTX_RTSS_Kernel_Module";
    SAG_Str : aliased constant Source_Buffer := "Support_Aggregates";
+   SAP_Str : aliased constant Source_Buffer := "Support_Atomic_Primitives";
    SCA_Str : aliased constant Source_Buffer := "Support_Composite_Assign";
    SCC_Str : aliased constant Source_Buffer := "Support_Composite_Compare";
    SCD_Str : aliased constant Source_Buffer := "Stack_Check_Default";
@@ -129,6 +131,7 @@ package body Targparm is
       PAS_Str'Access,
       RTX_Str'Access,
       SAG_Str'Access,
+      SAP_Str'Access,
       SCA_Str'Access,
       SCC_Str'Access,
       SCD_Str'Access,
@@ -586,6 +589,7 @@ package body Targparm is
                      when PAS => Preallocated_Stacks_On_Target       := Result;
                      when RTX => RTX_RTSS_Kernel_Module_On_Target    := Result;
                      when SAG => Support_Aggregates_On_Target        := Result;
+                     when SAP => Support_Atomic_Primitives_On_Target := Result;
                      when SCA => Support_Composite_Assign_On_Target  := Result;
                      when SCC => Support_Composite_Compare_On_Target := Result;
                      when SCD => Stack_Check_Default_On_Target       := Result;
index be1c9af021807a88f96e0d12a0c926b9cfea3f51..e3210c93664ce6e05c516fca78bb08ebbcdbc6e0 100644 (file)
@@ -408,6 +408,14 @@ package Targparm is
    --  are available. If any of these routines is not available, then
    --  this flag is False, and the use of aggregates is not permitted.
 
+   Support_Atomic_Primitives_On_Target : Boolean := False;
+   --  If this flag is True, then the back-end support GCC built-in atomic
+   --  operations for memory model such as atomic load or atomic compare
+   --  exchange (see the GCC manual for more information). If the flag is
+   --  False, then the back-end doesn't provide this support. Note this flag is
+   --  set to True only if the target supports all atomic primitives up to 64
+   --  bits. ??? To be modified.
+
    Support_Composite_Assign_On_Target : Boolean := True;
    --  The assignment of composite objects other than small records and
    --  arrays whose size is 64-bits or less and is set by an explicit