From d0656015ad0cd0894fe47eb61e9693c948732bb8 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Mon, 4 Apr 2005 22:43:03 +0000 Subject: [PATCH] Fixed 'eax' to '%eax' in clobber; enabled gcc/x86 version [SVN r27965] --- include/boost/detail/sp_counted_base.hpp | 4 ++++ include/boost/detail/sp_counted_base_gcc_x86.hpp | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/include/boost/detail/sp_counted_base.hpp b/include/boost/detail/sp_counted_base.hpp index 0c61fdd..2c9df7e 100644 --- a/include/boost/detail/sp_counted_base.hpp +++ b/include/boost/detail/sp_counted_base.hpp @@ -23,6 +23,10 @@ # include +#elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) ) + +# include + #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) # include diff --git a/include/boost/detail/sp_counted_base_gcc_x86.hpp b/include/boost/detail/sp_counted_base_gcc_x86.hpp index 18fd1e9..54ab199 100644 --- a/include/boost/detail/sp_counted_base_gcc_x86.hpp +++ b/include/boost/detail/sp_counted_base_gcc_x86.hpp @@ -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;