[Bf-blender-cvs] [06abc9509de] master: Cleanup: quiet warning building with MSVC (_CONCAT redefined)

Campbell Barton noreply at git.blender.org
Mon Oct 31 01:17:12 CET 2022


Commit: 06abc9509dea9d5cd1cd49121bec9872d47e0ae4
Author: Campbell Barton
Date:   Mon Oct 31 11:15:38 2022 +1100
Branches: master
https://developer.blender.org/rB06abc9509dea9d5cd1cd49121bec9872d47e0ae4

Cleanup: quiet warning building with MSVC (_CONCAT redefined)

This is defined by a system header (xatomic.h) with MSVC.

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

M	source/blender/blenlib/intern/kdtree_impl.h
M	source/blender/blenlib/intern/list_sort_impl.h

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

diff --git a/source/blender/blenlib/intern/kdtree_impl.h b/source/blender/blenlib/intern/kdtree_impl.h
index 6614f1bf964..f7993eb5adc 100644
--- a/source/blender/blenlib/intern/kdtree_impl.h
+++ b/source/blender/blenlib/intern/kdtree_impl.h
@@ -11,9 +11,9 @@
 #include "BLI_strict_flags.h"
 #include "BLI_utildefines.h"
 
-#define _CONCAT_AUX(MACRO_ARG1, MACRO_ARG2) MACRO_ARG1##MACRO_ARG2
-#define _CONCAT(MACRO_ARG1, MACRO_ARG2) _CONCAT_AUX(MACRO_ARG1, MACRO_ARG2)
-#define BLI_kdtree_nd_(id) _CONCAT(KDTREE_PREFIX_ID, _##id)
+#define _BLI_KDTREE_CONCAT_AUX(MACRO_ARG1, MACRO_ARG2) MACRO_ARG1##MACRO_ARG2
+#define _BLI_KDTREE_CONCAT(MACRO_ARG1, MACRO_ARG2) _BLI_KDTREE_CONCAT_AUX(MACRO_ARG1, MACRO_ARG2)
+#define BLI_kdtree_nd_(id) _BLI_KDTREE_CONCAT(KDTREE_PREFIX_ID, _##id)
 
 typedef struct KDTreeNode_head {
   uint left, right;
diff --git a/source/blender/blenlib/intern/list_sort_impl.h b/source/blender/blenlib/intern/list_sort_impl.h
index e1b93986f4a..7c38fc60b29 100644
--- a/source/blender/blenlib/intern/list_sort_impl.h
+++ b/source/blender/blenlib/intern/list_sort_impl.h
@@ -47,24 +47,25 @@
 #endif
 
 #ifdef SORT_IMPL_USE_THUNK
-#  define THUNK_APPEND1(a, thunk) a, thunk
-#  define THUNK_PREPEND2(thunk, a, b) thunk, a, b
+#  define BLI_LIST_THUNK_APPEND1(a, thunk) a, thunk
+#  define BLI_LIST_THUNK_PREPEND2(thunk, a, b) thunk, a, b
 #else
-#  define THUNK_APPEND1(a, thunk) a
-#  define THUNK_PREPEND2(thunk, a, b) a, b
+#  define BLI_LIST_THUNK_APPEND1(a, thunk) a
+#  define BLI_LIST_THUNK_PREPEND2(thunk, a, b) a, b
 #endif
 
-#define _CONCAT_AUX(MACRO_ARG1, MACRO_ARG2) MACRO_ARG1##MACRO_ARG2
-#define _CONCAT(MACRO_ARG1, MACRO_ARG2) _CONCAT_AUX(MACRO_ARG1, MACRO_ARG2)
-#define _SORT_PREFIX(id) _CONCAT(SORT_IMPL_FUNC, _##id)
+#define _BLI_LIST_SORT_CONCAT_AUX(MACRO_ARG1, MACRO_ARG2) MACRO_ARG1##MACRO_ARG2
+#define _BLI_LIST_SORT_CONCAT(MACRO_ARG1, MACRO_ARG2) \
+  _BLI_LIST_SORT_CONCAT_AUX(MACRO_ARG1, MACRO_ARG2)
+#define _BLI_LIST_SORT_PREFIX(id) _BLI_LIST_SORT_CONCAT(SORT_IMPL_FUNC, _##id)
 
 /* local identifiers */
-#define SortInfo _SORT_PREFIX(SortInfo)
-#define CompareFn _SORT_PREFIX(CompareFn)
-#define init_sort_info _SORT_PREFIX(init_sort_info)
-#define merge_lists _SORT_PREFIX(merge_lists)
-#define sweep_up _SORT_PREFIX(sweep_up)
-#define insert_list _SORT_PREFIX(insert_list)
+#define SortInfo _BLI_LIST_SORT_PREFIX(SortInfo)
+#define CompareFn _BLI_LIST_SORT_PREFIX(CompareFn)
+#define init_sort_info _BLI_LIST_SORT_PREFIX(init_sort_info)
+#define merge_lists _BLI_LIST_SORT_PREFIX(merge_lists)
+#define sweep_up _BLI_LIST_SORT_PREFIX(sweep_up)
+#define insert_list _BLI_LIST_SORT_PREFIX(insert_list)
 
 typedef int (*CompareFn)(
 #ifdef SORT_IMPL_USE_THUNK
@@ -159,7 +160,7 @@ BLI_INLINE list_node *merge_lists(list_node *first,
   list_node *list = NULL;
   list_node **pos = &list;
   while (first && second) {
-    if (func(THUNK_PREPEND2(thunk, SORT_ARG(first), SORT_ARG(second))) > 0) {
+    if (func(BLI_LIST_THUNK_PREPEND2(thunk, SORT_ARG(first), SORT_ARG(second))) > 0) {
       *pos = second;
       second = second->next;
     }
@@ -181,7 +182,7 @@ BLI_INLINE list_node *sweep_up(struct SortInfo *si, list_node *list, unsigned in
 {
   unsigned int i;
   for (i = si->min_rank; i < upto; i++) {
-    list = merge_lists(si->ranks[i], list, THUNK_APPEND1(si->func, si->thunk));
+    list = merge_lists(si->ranks[i], list, BLI_LIST_THUNK_APPEND1(si->func, si->thunk));
     si->ranks[i] = NULL;
   }
   return list;
@@ -225,17 +226,19 @@ BLI_INLINE void insert_list(struct SortInfo *si, list_node *list, unsigned int r
       // printf("Rank '%d' should not exceed " STRINGIFY(MAX_RANKS), rank);
       rank = MAX_RANKS;
     }
-    list = merge_lists(sweep_up(si, NULL, si->n_ranks), list, THUNK_APPEND1(si->func, si->thunk));
+    list = merge_lists(
+        sweep_up(si, NULL, si->n_ranks), list, BLI_LIST_THUNK_APPEND1(si->func, si->thunk));
     for (i = si->n_ranks; i < rank; i++) {
       si->ranks[i] = NULL;
     }
   }
   else {
     if (rank) {
-      list = merge_lists(sweep_up(si, NULL, rank), list, THUNK_APPEND1(si->func, si->thunk));
+      list = merge_lists(
+          sweep_up(si, NULL, rank), list, BLI_LIST_THUNK_APPEND1(si->func, si->thunk));
     }
     for (i = rank; i < si->n_ranks && si->ranks[i]; i++) {
-      list = merge_lists(si->ranks[i], list, THUNK_APPEND1(si->func, si->thunk));
+      list = merge_lists(si->ranks[i], list, BLI_LIST_THUNK_APPEND1(si->func, si->thunk));
       si->ranks[i] = NULL;
     }
   }
@@ -281,7 +284,7 @@ BLI_INLINE list_node *list_sort_do(list_node *list,
     list_node *next = list->next;
     list_node *tail = next->next;
 
-    if (func(THUNK_PREPEND2(thunk, SORT_ARG(list), SORT_ARG(next))) > 0) {
+    if (func(BLI_LIST_THUNK_PREPEND2(thunk, SORT_ARG(list), SORT_ARG(next))) > 0) {
       next->next = list;
       next = list;
       list = list->next;
@@ -296,8 +299,8 @@ BLI_INLINE list_node *list_sort_do(list_node *list,
   return sweep_up(&si, list, si.n_ranks);
 }
 
-#undef _CONCAT_AUX
-#undef _CONCAT
+#undef _BLI_LIST_SORT_CONCAT_AUX
+#undef _BLI_LIST_SORT_CONCAT
 #undef _SORT_PREFIX
 
 #undef SortInfo
@@ -310,6 +313,6 @@ BLI_INLINE list_node *list_sort_do(list_node *list,
 #undef list_node
 #undef list_sort_do
 
-#undef THUNK_APPEND1
-#undef THUNK_PREPEND2
+#undef BLI_LIST_THUNK_APPEND1
+#undef BLI_LIST_THUNK_PREPEND2
 #undef SORT_ARG



More information about the Bf-blender-cvs mailing list