From: Andrew MacLeod Date: Thu, 10 Nov 2011 22:46:25 +0000 (+0000) Subject: extend.texi: Document __atomic_test_and_set and __atomic_clear. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1aabd05ec017fa10e3a425fff112f81005dd0fe7;p=gcc.git extend.texi: Document __atomic_test_and_set and __atomic_clear. 2011-11-10 Andrew MacLeod * doc/extend.texi: Document __atomic_test_and_set and __atomic_clear. From-SVN: r181273 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1f8a56af363..5af6961bd18 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2011-11-10 Andrew MacLeod + + * doc/extend.texi: Document __atomic_test_and_set and __atomic_clear. + 2011-11-10 Andrew MacLeod PR middle-end/51038 diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index c7e8ede9cb0..15238c1b39e 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -7002,6 +7002,27 @@ All memory models are valid. @end deftypefn +@deftypefn {Built-in Function} bool __atomic_test_and_set (bool *ptr, int memmodel) + +This built-in function performs an atomic test-and-set operation on +@code{*@var{ptr}}. @code{*@var{ptr}} is set to the value 1 and +the previous contents are returned. + +All memory models are valid. + +@end deftypefn + +@deftypefn {Built-in Function} void __atomic_clear (bool *ptr, int memmodel) + +This built-in function performs an atomic clear operation on +@code{*@var{ptr}}. After the operation, @code{*@var{ptr}} will contain 0. + +The valid memory model variants are +@code{__ATOMIC_RELAXED}, @code{__ATOMIC_SEQ_CST}, and +@code{__ATOMIC_RELEASE}. + +@end deftypefn + @deftypefn {Built-in Function} void __atomic_thread_fence (int memmodel) This built-in function acts as a synchronization fence between threads