On 7/4/2014 12:08 AM, Hans-Peter Nilsson wrote:
Currently, c-cppbuiltin.c doesn't provide proper defines for this support.
> >We
> >currently define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, etc, in
> >pa-linux.h.
I thought that was cheating!  1/2:)

>  I'll experiment with defining ATOMIC_INT_LOCK_FREE there.
>
>It should already be defined,
Yes, if the proper insn patterns are in place, those macros are
automatically defined.  They aren't if library functions are
called, regardless of lock-freelessness of those functions.
That is the problem.  I added the __GCC_HAVE_SYNC_COMPARE_AND_SWAP
defines when I saw that the library implementation was being detected
by some packages.

Trying an even bigger cheat:

#define HAVE_sync_compare_and_swapqi 1
#define HAVE_sync_compare_and_swaphi 1
#define HAVE_sync_compare_and_swapsi 1

This seems to give __GCC_ATOMIC_INT_LOCK_FREE = 2, etc.

Have to see if this works with our library functions :-

Dave

--
John David Anglin    dave.ang...@bell.net

Reply via email to