浏览代码

MIPS: remove immediate constraint within CompareAndSwap.

Improper use of immediate constraint is slightly non-optimal with gcc/gnu-as
but may cause breakage with clang.
Gordana Cmiljanovic 10 年之前
父节点
当前提交
b61b0c3304
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/google/protobuf/stubs/atomicops_internals_mips_gcc.h

+ 2 - 2
src/google/protobuf/stubs/atomicops_internals_mips_gcc.h

@@ -65,7 +65,7 @@ inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr,
                        "2:\n"
                        "2:\n"
                        ".set pop\n"
                        ".set pop\n"
                        : "=&r" (prev), "=m" (*ptr), "=&r" (tmp)
                        : "=&r" (prev), "=m" (*ptr), "=&r" (tmp)
-                       : "Ir" (old_value), "r" (new_value), "m" (*ptr)
+                       : "r" (old_value), "r" (new_value), "m" (*ptr)
                        : "memory");
                        : "memory");
   return prev;
   return prev;
 }
 }
@@ -197,7 +197,7 @@ inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr,
                        "2:\n"
                        "2:\n"
                        ".set pop\n"
                        ".set pop\n"
                        : "=&r" (prev), "=m" (*ptr), "=&r" (tmp)
                        : "=&r" (prev), "=m" (*ptr), "=&r" (tmp)
-                       : "Ir" (old_value), "r" (new_value), "m" (*ptr)
+                       : "r" (old_value), "r" (new_value), "m" (*ptr)
                        : "memory");
                        : "memory");
   return prev;
   return prev;
 }
 }