Fix typos in compiler-rt/lib/builtins/atomic.c
authorHubert Tong <hubert.reinterpretcast@gmail.com>
Sat, 23 Mar 2019 18:39:54 +0000 (18:39 +0000)
committerHubert Tong <hubert.reinterpretcast@gmail.com>
Sat, 23 Mar 2019 18:39:54 +0000 (18:39 +0000)
Summary:
This patch fixes typos in file compiler-rt/lib/builtins/atomic.c.

Reviewers: jasonliu, hubert.reinterpretcast, jfb

Reviewed By: jfb

Subscribers: t.p.northover, theraven, dberris, jfb, jdoerfert, #sanitizers, llvm-commits

Tags: #llvm, #sanitizers

Differential Revision: https://reviews.llvm.org/D59228

Patch by Xing Xue.

llvm-svn: 356844

compiler-rt/lib/builtins/atomic.c

index 87a7e85..1bca01c 100644 (file)
@@ -135,23 +135,32 @@ static __inline Lock *lock_for_pointer(void *ptr) {
 #define LOCK_FREE_CASES() \
   do {\
   switch (size) {\
+    case 1:\
+      if (IS_LOCK_FREE_1) {\
+        LOCK_FREE_ACTION(uint8_t);\
+      }\
+      break; \
     case 2:\
       if (IS_LOCK_FREE_2) {\
         LOCK_FREE_ACTION(uint16_t);\
       }\
+      break; \
     case 4:\
       if (IS_LOCK_FREE_4) {\
         LOCK_FREE_ACTION(uint32_t);\
       }\
+      break; \
     case 8:\
       if (IS_LOCK_FREE_8) {\
         LOCK_FREE_ACTION(uint64_t);\
       }\
+      break; \
     case 16:\
       if (IS_LOCK_FREE_16) {\
         /* FIXME: __uint128_t isn't available on 32 bit platforms.
         LOCK_FREE_ACTION(__uint128_t);*/\
       }\
+      break; \
   }\
   } while (0)
 
@@ -174,7 +183,7 @@ void __atomic_load_c(int size, void *src, void *dest, int model) {
 /// pointer only.
 void __atomic_store_c(int size, void *dest, void *src, int model) {
 #define LOCK_FREE_ACTION(type) \
-    __c11_atomic_store((_Atomic(type)*)dest, *(type*)dest, model);\
+    __c11_atomic_store((_Atomic(type)*)dest, *(type*)src, model);\
     return;
   LOCK_FREE_CASES();
 #undef LOCK_FREE_ACTION