Fix SPARC asm operand failure. Refs #3678. Refs #3341.

[SVN r57949]
This commit is contained in:
Peter Dimov
2009-11-26 18:21:21 +00:00
parent 18bfaea996
commit 030a848c5f

View File

@ -30,9 +30,9 @@ namespace detail
inline int32_t compare_and_swap( int32_t * dest_, int32_t compare_, int32_t swap_ ) inline int32_t compare_and_swap( int32_t * dest_, int32_t compare_, int32_t swap_ )
{ {
__asm__ __volatile__( "cas %0, %2, %1" __asm__ __volatile__( "cas [%1], %2, %0"
: "+m" (*dest_), "+r" (swap_) : "+r" (swap_)
: "r" (compare_) : "r" (dest_), "r" (compare_)
: "memory" ); : "memory" );
return swap_; return swap_;