On 07/17/2012 06:15 AM, Arnaud Charlet wrote:
This patch fixes failures due to the use of 64-bit atomic
operations on ppc-linux. Undo of the previous patch for 64-bit atomic
operations only.

Note: this does NOT address the failure on ppc-darwin, which will be addressed
by another patch soon.

Tested on x86_64-pc-linux-gnu, committed on trunk

2012-07-17  Vincent Pucci  <pu...@adacore.com>

        * s-atopri.adb (Lock_Free_Try_Write_X): Atomic_Compare_Exchange_X
        replaced by Sync_Compare_And_Swap_X.
        (Lock_Free_Try_Write_64): Removed.
        * s-atopri.ads (Sync_Compare_And_Swap_X): Replaces previous
        routine Atomic_Compare_Exchange_X.
        (Lock_Free_Read_64): Renaming of Atomic_Load_64.
        (Lock_Free_Try_Write_64): Renaming of Sync_Compare_And_Swap_64.

What is the nature of the atomic failures using the __atomic_compare_exchange built-in? Does it have anything to do with the expected value being returned by pointer?



Andrew

Reply via email to