X-Git-Url: https://git.donarmstrong.com/?p=rsem.git;a=blobdiff_plain;f=boost%2Fsmart_ptr%2Fdetail%2Fsp_counted_base_gcc_mips.hpp;fp=boost%2Fsmart_ptr%2Fdetail%2Fsp_counted_base_gcc_mips.hpp;h=545c8ae4fc1d87622d650503472b5f06333a8ddf;hp=0c69b0b891f2d62c261d39d40bcfeb1311bcc335;hb=2d71eb92104693ca9baa5a2e1c23eeca776d8fd3;hpb=da57529b92adbb7ae74a89861cb39fb35ac7c62d diff --git a/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp b/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp index 0c69b0b..545c8ae 100644 --- a/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +++ b/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp @@ -37,9 +37,12 @@ inline void atomic_increment( int * pw ) __asm__ __volatile__ ( "0:\n\t" + ".set push\n\t" + ".set mips2\n\t" "ll %0, %1\n\t" "addiu %0, 1\n\t" "sc %0, %1\n\t" + ".set pop\n\t" "beqz %0, 0b": "=&r"( tmp ), "=m"( *pw ): "m"( *pw ) @@ -55,9 +58,12 @@ inline int atomic_decrement( int * pw ) __asm__ __volatile__ ( "0:\n\t" + ".set push\n\t" + ".set mips2\n\t" "ll %1, %2\n\t" "addiu %0, %1, -1\n\t" "sc %0, %2\n\t" + ".set pop\n\t" "beqz %0, 0b\n\t" "addiu %0, %1, -1": "=&r"( rv ), "=&r"( tmp ), "=m"( *pw ): @@ -78,10 +84,13 @@ inline int atomic_conditional_increment( int * pw ) __asm__ __volatile__ ( "0:\n\t" + ".set push\n\t" + ".set mips2\n\t" "ll %0, %2\n\t" "beqz %0, 1f\n\t" "addiu %1, %0, 1\n\t" "sc %1, %2\n\t" + ".set pop\n\t" "beqz %1, 0b\n\t" "addiu %0, %0, 1\n\t" "1:": @@ -126,6 +135,7 @@ public: } virtual void * get_deleter( sp_typeinfo const & ti ) = 0; + virtual void * get_untyped_deleter() = 0; void add_ref_copy() {