diff options
author | John David Anglin <danglin@gcc.gnu.org> | 2014-07-17 23:44:57 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2014-07-17 23:44:57 +0000 |
commit | 03cb409757ea6b76122996c5ca4c5c24a8417f68 (patch) | |
tree | ea1b964b7654801a1ca02c1ceee6c6b3d5a180fc /gcc | |
parent | a41370902e01cdfea8bef6eb3a0bd43c4615360b (diff) | |
download | gcc-03cb409757ea6b76122996c5ca4c5c24a8417f68.zip gcc-03cb409757ea6b76122996c5ca4c5c24a8417f68.tar.gz gcc-03cb409757ea6b76122996c5ca4c5c24a8417f68.tar.bz2 |
pa-linux.h (TARGET_OS_CPP_BUILTINS): Remove defines for __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1...
* config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Remove defines for
__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2
and __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
(HAVE_sync_compare_and_swapqi): Define.
(HAVE_sync_compare_and_swaphi): Likewise.
(HAVE_sync_compare_and_swapsi): Likewise.
From-SVN: r212770
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/config/pa/pa-linux.h | 13 |
2 files changed, 19 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 85d72c4..535875a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2014-07-17 John David Anglin <danglin@gcc.gnu.org> + + * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Remove defines for + __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 + and __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4. + (HAVE_sync_compare_and_swapqi): Define. + (HAVE_sync_compare_and_swaphi): Likewise. + (HAVE_sync_compare_and_swapsi): Likewise. + 2014-07-17 Richard Sandiford <rdsandiford@googlemail.com> * config/mips/p5600.md: Add missing cpu tests. diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h index 399308a..3c3d51f 100644 --- a/gcc/config/pa/pa-linux.h +++ b/gcc/config/pa/pa-linux.h @@ -22,9 +22,6 @@ along with GCC; see the file COPYING3. If not see #define TARGET_OS_CPP_BUILTINS() \ do \ { \ - builtin_define ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1"); \ - builtin_define ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2"); \ - builtin_define ("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4"); \ GNU_USER_TARGET_OS_CPP_BUILTINS(); \ builtin_assert ("machine=bigendian"); \ } \ @@ -133,3 +130,13 @@ along with GCC; see the file COPYING3. If not see #undef TARGET_SYNC_LIBCALL #define TARGET_SYNC_LIBCALL 1 + +/* The SYNC operations are implemented as library functions, not + INSN patterns. As a result, the HAVE defines for the patterns are + not defined. We need to define them to generate the corresponding + __GCC_HAVE_SYNC_COMPARE_AND_SWAP_* and __GCC_ATOMIC_*_LOCK_FREE + defines. */ + +#define HAVE_sync_compare_and_swapqi 1 +#define HAVE_sync_compare_and_swaphi 1 +#define HAVE_sync_compare_and_swapsi 1 |