forked from boostorg/smart_ptr
Fixed 'eax' to '%eax' in clobber; enabled gcc/x86 version
[SVN r27965]
This commit is contained in:
@ -23,6 +23,10 @@
|
|||||||
|
|
||||||
# include <boost/detail/sp_counted_base_nt.hpp>
|
# include <boost/detail/sp_counted_base_nt.hpp>
|
||||||
|
|
||||||
|
#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) )
|
||||||
|
|
||||||
|
# include <boost/detail/sp_counted_base_gcc_x86.hpp>
|
||||||
|
|
||||||
#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
|
#elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ )
|
||||||
|
|
||||||
# include <boost/detail/sp_counted_base_w32.hpp>
|
# include <boost/detail/sp_counted_base_w32.hpp>
|
||||||
|
@ -85,9 +85,9 @@ inline long atomic_conditional_increment( long * pw )
|
|||||||
"cmpxchgl %%ebx, %0\n\t"
|
"cmpxchgl %%ebx, %0\n\t"
|
||||||
"jne 0b\n\t"
|
"jne 0b\n\t"
|
||||||
"1:":
|
"1:":
|
||||||
"=m"( *pw ), "=&eax"( r ): // outputs (%0, %1)
|
"=m"( *pw ), "=&%eax"( r ): // outputs (%0, %1)
|
||||||
"m"( *pw ): // input (%2)
|
"m"( *pw ): // input (%2)
|
||||||
"ebx", "memory", "cc" // clobbers
|
"%ebx", "memory", "cc" // clobbers
|
||||||
);
|
);
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
|
Reference in New Issue
Block a user