[Ada] Fix to 64-bit atomic operation failures on ppc-linux
Richard Henderson
rth@redhat.com
Tue Jul 17 15:55:00 GMT 2012
On 07/17/2012 03:15 AM, Arnaud Charlet wrote:
> + function Sync_Compare_And_Swap_32
> (Ptr : Address;
> Expected : uint32;
> Desired : uint32) return uint32;
> pragma Import (Intrinsic,
> + Sync_Compare_And_Swap_32,
> "__sync_val_compare_and_swap_4");
>
> + function Sync_Compare_And_Swap_64
> (Ptr : Address;
> Expected : uint64;
> - Desired : uint64) return uint64;
> + Desired : uint64) return Boolean;
> pragma Import (Intrinsic,
> + Sync_Compare_And_Swap_64,
> - "__sync_val_compare_and_swap_8");
> + "__sync_bool_compare_and_swap_8");
Ignoring the name change, why return bool only for the 64-bit function?
This is surely papering over some sort of bug elsewhere...
r~
More information about the Gcc-patches
mailing list