From 4e7a218abf9b28be1a882feb49c9058b7a4eb975 Mon Sep 17 00:00:00 2001 From: Hubert Tong Date: Sat, 23 Mar 2019 18:39:54 +0000 Subject: [PATCH] Fix typos in compiler-rt/lib/builtins/atomic.c 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 | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/compiler-rt/lib/builtins/atomic.c b/compiler-rt/lib/builtins/atomic.c index 87a7e85..1bca01c 100644 --- a/compiler-rt/lib/builtins/atomic.c +++ b/compiler-rt/lib/builtins/atomic.c @@ -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 -- 2.7.4