On 10/19/2011 05:43 PM, Andrew MacLeod wrote:
>       * optabs.h (direct_optab_index): Replace DOI_atomic_compare_exchange
>       with DOI_atomic_compare_and_swap.
>       (direct_op): Add DOI_atomic_compare_and_swap.
>       * genopinit.c: Set atomic_compare_and_swap_optab.
>       * expr.h (expand_atomic_compare_exchange): Add parameter.
>       * builtins.c (builtin_atomic_compare_exchange): Add weak parameter
>       and verify it is a compile time constant.
>       * optabs.c (expand_atomic_compare_exchange): Use atomic_compare_and_swap
>       if present, otherwise use __sync_val_compare_and_swap.
>       * builtin-types.def (BT_FN_BOOL_VPTR_PTR_I{1,2,4,8,16}_BOOL_INT_INT):
>       Add the bool parameter.
>       * sync-builtins.def (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_*): Use new
>       prototype.
> 
>       * c-family/c-common.c (resolve_overloaded_builtin): Don't try to
>       process a return value with an error mark.
> 
>       * libstdc++-v3/include/bits/atomic_2.h: Use __atomic_compare_exchange.
> 
>       * fortran/types.def (BT_FN_BOOL_VPTR_PTR_I{1,2,4,8,16}_BOOL_INT_INT):
>       Add the bool parameter.
> 
>       * testsuite/gcc.dg/atomic-invalid.c: Add compare_exchange failures.
>       * testsuite/gcc.dg/atomic-compare-exchange-{1-5}.c: New tests.

Ok.


r~

Reply via email to