Fixed 'eax' to '%eax' in clobber; enabled gcc/x86 version

[SVN r27965]
This commit is contained in:
Peter Dimov
2005-04-04 22:43:03 +00:00
parent f1a9148a43
commit d0656015ad
2 changed files with 6 additions and 2 deletions

View File

@ -23,6 +23,10 @@
# 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__ )
# include <boost/detail/sp_counted_base_w32.hpp>

View File

@ -85,9 +85,9 @@ inline long atomic_conditional_increment( long * pw )
"cmpxchgl %%ebx, %0\n\t"
"jne 0b\n\t"
"1:":
"=m"( *pw ), "=&eax"( r ): // outputs (%0, %1)
"=m"( *pw ), "=&%eax"( r ): // outputs (%0, %1)
"m"( *pw ): // input (%2)
"ebx", "memory", "cc" // clobbers
"%ebx", "memory", "cc" // clobbers
);
return r;