diff options
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/libgcov.h | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h index 763118e..d04c070 100644 --- a/libgcc/libgcov.h +++ b/libgcc/libgcov.h @@ -95,18 +95,14 @@ typedef unsigned gcov_type_unsigned __attribute__ ((mode (QI))); #define GCOV_LOCKED_WITH_LOCKING 0 #endif -#ifndef GCOV_SUPPORTS_ATOMIC /* Detect whether target can support atomic update of profilers. */ -#if __SIZEOF_LONG_LONG__ == 4 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -#define GCOV_SUPPORTS_ATOMIC 1 -#else -#if __SIZEOF_LONG_LONG__ == 8 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 +#if (__SIZEOF_LONG_LONG__ == 4 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) || \ + (__SIZEOF_LONG_LONG__ == 8 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8) || \ + defined (__LIBGCC_HAVE_LIBATOMIC) #define GCOV_SUPPORTS_ATOMIC 1 #else #define GCOV_SUPPORTS_ATOMIC 0 #endif -#endif -#endif /* In libgcov we need these functions to be extern, so prefix them with __gcov. In libgcov they must also be hidden so that the instance in |