diff options
author | Andi Kleen <ak@linux.intel.com> | 2013-06-21 13:51:37 +0000 |
---|---|---|
committer | Andi Kleen <ak@gcc.gnu.org> | 2013-06-21 13:51:37 +0000 |
commit | cca410b69b25a729ea3a4d3614426e380c688ca4 (patch) | |
tree | 45d907e3dab135e9b398f5abd9232aef324d9ffd /gcc/doc/extend.texi | |
parent | a58219532cee0dd01c890ee56ae73d5be845c748 (diff) | |
download | gcc-cca410b69b25a729ea3a4d3614426e380c688ca4.zip gcc-cca410b69b25a729ea3a4d3614426e380c688ca4.tar.gz gcc-cca410b69b25a729ea3a4d3614426e380c688ca4.tar.bz2 |
Improve __atomic_clear/test_and_set documentation
Document that __atomic_clear and __atomic_test_and_set should
only be used with bool.
gcc/:
2013-06-21 Andi Kleen <ak@linux.intel.com>
* doc/extend.texi: Document that __atomic_clear and
__atomic_test_and_set should only be used with bool.
From-SVN: r200303
Diffstat (limited to 'gcc/doc/extend.texi')
-rw-r--r-- | gcc/doc/extend.texi | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 6ce26ef..213cf00 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -7439,6 +7439,8 @@ This built-in function performs an atomic test-and-set operation on the byte at @code{*@var{ptr}}. The byte is set to some implementation defined nonzero ``set'' value and the return value is @code{true} if and only if the previous contents were ``set''. +It should be only used for operands of type @code{bool} or @code{char}. For +other types only part of the value may be set. All memory models are valid. @@ -7448,6 +7450,10 @@ All memory models are valid. This built-in function performs an atomic clear operation on @code{*@var{ptr}}. After the operation, @code{*@var{ptr}} contains 0. +It should be only used for operands of type @code{bool} or @code{char} and +in conjunction with @code{__atomic_test_and_set}. +For other types it may only clear partially. If the type is not @code{bool} +prefer using @code{__atomic_store}. The valid memory model variants are @code{__ATOMIC_RELAXED}, @code{__ATOMIC_SEQ_CST}, and |