[Bf-blender-cvs] [497e2b3dfad] master: Cleanup: use signed atomic ops when needed.

Bastien Montagne noreply at git.blender.org
Thu Nov 23 16:24:57 CET 2017


Commit: 497e2b3dfaded5ed1e260b0fb518bc8f97ccca89
Author: Bastien Montagne
Date:   Thu Nov 23 16:14:53 2017 +0100
Branches: master
https://developer.blender.org/rB497e2b3dfaded5ed1e260b0fb518bc8f97ccca89

Cleanup: use signed atomic ops when needed.

===================================================================

M	source/blender/blenkernel/intern/library.c
M	source/blender/blenkernel/intern/object.c
M	source/blender/blenlib/intern/task.c

===================================================================

diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index 7e259b38842..b84a494c70e 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -2383,10 +2383,10 @@ void BKE_library_filepath_set(Library *lib, const char *filepath)
 
 void BKE_id_tag_set_atomic(ID *id, int tag)
 {
-	atomic_fetch_and_or_uint32((uint32_t *)&id->tag, tag);
+	atomic_fetch_and_or_int32(&id->tag, tag);
 }
 
 void BKE_id_tag_clear_atomic(ID *id, int tag)
 {
-	atomic_fetch_and_and_uint32((uint32_t *)&id->tag, ~tag);
+	atomic_fetch_and_and_int32(&id->tag, ~tag);
 }
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index c64a183a511..f231f8f61c9 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -330,14 +330,14 @@ void BKE_object_free_derived_caches(Object *ob)
 		Mesh *me = ob->data;
 
 		if (me && me->bb) {
-			atomic_fetch_and_or_uint32((uint *)&me->bb->flag, BOUNDBOX_DIRTY);
+			atomic_fetch_and_or_int32(&me->bb->flag, BOUNDBOX_DIRTY);
 		}
 	}
 	else if (ELEM(ob->type, OB_SURF, OB_CURVE, OB_FONT)) {
 		Curve *cu = ob->data;
 
 		if (cu && cu->bb) {
-			atomic_fetch_and_or_uint32((uint *)&cu->bb->flag, BOUNDBOX_DIRTY);
+			atomic_fetch_and_or_int32(&cu->bb->flag, BOUNDBOX_DIRTY);
 		}
 	}
 
diff --git a/source/blender/blenlib/intern/task.c b/source/blender/blenlib/intern/task.c
index e050f3148b8..d69241c3737 100644
--- a/source/blender/blenlib/intern/task.c
+++ b/source/blender/blenlib/intern/task.c
@@ -1003,8 +1003,7 @@ BLI_INLINE bool parallel_range_next_iter_get(
         ParallelRangeState * __restrict state,
         int * __restrict iter, int * __restrict count)
 {
-	uint32_t uval = atomic_fetch_and_add_uint32((uint32_t *)(&state->iter), state->chunk_size);
-	int previter = *(int32_t *)&uval;
+	int previter = atomic_fetch_and_add_int32(&state->iter, state->chunk_size);
 
 	*iter = previter;
 	*count = max_ii(0, min_ii(state->chunk_size, state->stop - previter));
@@ -1124,7 +1123,7 @@ static void task_parallel_range_ex(
 	}
 
 	num_tasks = min_ii(num_tasks, (stop - start) / state.chunk_size);
-	atomic_fetch_and_add_uint32((uint32_t *)(&state.iter), 0);
+	atomic_fetch_and_add_int32(&state.iter, 0);
 
 	if (use_userdata_chunk) {
 		userdata_chunk_array = MALLOCA(userdata_chunk_size * num_tasks);



More information about the Bf-blender-cvs mailing list