[Ada] Update comment on __atomic_compare_exchange in s-atomic_primitives
authorOlivier Hainque <hainque@adacore.com>
Thu, 31 May 2018 10:46:58 +0000 (10:46 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Thu, 31 May 2018 10:46:58 +0000 (10:46 +0000)
Remove mention of unavailability, long obsolete, and reword suggestion of use
to indicate that we might want to switch to an internal interface using them.
The current wording suggests just that we should bind the current
Sync_Compare_And_Swap Ada subprograms to __atomic_compare builtins instead of
__sync_compare, which would be highly confusing.

2018-05-31  Olivier Hainque  <hainque@adacore.com>

gcc/ada/

* libgnat/s-atopri.ads: Update comment on __atomic_compare_exchange
builtins.

From-SVN: r261008

gcc/ada/ChangeLog
gcc/ada/libgnat/s-atopri.ads

index 446d65267f0499d04aa514f46842ec03aaea9f13..6150102dc1a6843264d1fdd2c2259991e4f752b6 100644 (file)
@@ -1,3 +1,8 @@
+2018-05-31  Olivier Hainque  <hainque@adacore.com>
+
+       * libgnat/s-atopri.ads: Update comment on __atomic_compare_exchange
+       builtins.
+
 2018-05-31  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc-interface/trans.c (Call_to_gnu): If this is a function call and
index d249ec291598bd846644effe420d9c9964a2fc6f..5cb15465fc19a827bfd55b2604cd1d104de8c8ab 100644 (file)
@@ -92,18 +92,6 @@ package System.Atomic_Primitives is
                   Sync_Compare_And_Swap_8,
                   "__sync_val_compare_and_swap_1");
 
-   --  ??? Should use __atomic_compare_exchange_1 (doesn't work yet):
-   --  function Sync_Compare_And_Swap_8
-   --    (Ptr           : Address;
-   --     Expected      : Address;
-   --     Desired       : uint8;
-   --     Weak          : Boolean   := False;
-   --     Success_Model : Mem_Model := Seq_Cst;
-   --     Failure_Model : Mem_Model := Seq_Cst) return Boolean;
-   --  pragma Import (Intrinsic,
-   --                 Sync_Compare_And_Swap_8,
-   --                 "__atomic_compare_exchange_1");
-
    function Sync_Compare_And_Swap_16
      (Ptr      : Address;
       Expected : uint16;
@@ -128,6 +116,20 @@ package System.Atomic_Primitives is
                   Sync_Compare_And_Swap_64,
                   "__sync_val_compare_and_swap_8");
 
+   --  ??? We might want to switch to the __atomic series of builtins for
+   --  compare-and-swap operations at some point.
+
+   --  function Atomic_Compare_Exchange_8
+   --    (Ptr           : Address;
+   --     Expected      : Address;
+   --     Desired       : uint8;
+   --     Weak          : Boolean   := False;
+   --     Success_Model : Mem_Model := Seq_Cst;
+   --     Failure_Model : Mem_Model := Seq_Cst) return Boolean;
+   --  pragma Import (Intrinsic,
+   --                 Atomic_Compare_Exchange_8,
+   --                 "__atomic_compare_exchange_1");
+
    --------------------------
    -- Lock-free operations --
    --------------------------