+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
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;
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 --
--------------------------