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;