[Bf-blender-cvs] [f0c991a380e] master: Cleanup: work around clang-format differences between versions

Brecht Van Lommel noreply at git.blender.org
Sat Feb 15 14:09:00 CET 2020


Commit: f0c991a380e9d449ebc02cc91649ef3728848070
Author: Brecht Van Lommel
Date:   Sat Feb 15 13:51:46 2020 +0100
Branches: master
https://developer.blender.org/rBf0c991a380e9d449ebc02cc91649ef3728848070

Cleanup: work around clang-format differences between versions

Ref T73747

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

M	intern/cycles/util/util_defines.h
M	intern/cycles/util/util_static_assert.h
M	intern/ghost/intern/GHOST_ContextCGL.mm
M	intern/ghost/intern/GHOST_WindowCocoa.mm
M	source/blender/blenkernel/intern/pbvh_bmesh.c
M	source/blender/blenlib/BLI_compiler_compat.h
M	source/blender/blenlib/BLI_map.h
M	source/blender/editors/screen/area.c

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

diff --git a/intern/cycles/util/util_defines.h b/intern/cycles/util/util_defines.h
index b29d4163133..24a20a969ab 100644
--- a/intern/cycles/util/util_defines.h
+++ b/intern/cycles/util/util_defines.h
@@ -15,6 +15,11 @@
  * limitations under the License.
  */
 
+/* clang-format off */
+
+/* #define __forceinline triggers a bug in some clang-format versions, disable
+ * format for entire file to keep results consistent. */
+
 #ifndef __UTIL_DEFINES_H__
 #define __UTIL_DEFINES_H__
 
diff --git a/intern/cycles/util/util_static_assert.h b/intern/cycles/util/util_static_assert.h
index ceb52830319..7d458bed14e 100644
--- a/intern/cycles/util/util_static_assert.h
+++ b/intern/cycles/util/util_static_assert.h
@@ -14,34 +14,20 @@
  * limitations under the License.
  */
 
+/* clang-format off */
+
+/* #define static_assert triggers a bug in some clang-format versions, disable
+ * format for entire file to keep results consistent. */
+
 #ifndef __UTIL_STATIC_ASSERT_H__
 #define __UTIL_STATIC_ASSERT_H__
 
 CCL_NAMESPACE_BEGIN
 
-/* TODO(sergey): In theory CUDA might work with own static assert
- * implementation since it's just pure C++.
- */
-#ifdef __KERNEL_GPU__
-#  ifndef static_assert
-#    define static_assert(statement, message)
-#  endif
+#ifdef __KERNEL_OPECL__
+#  define static_assert(statement, message)
 #endif /* __KERNEL_GPU__ */
 
-/* TODO(sergey): For until C++11 is a bare minimum for us,
- * we do a bit of a trickery to show meaningful message so
- * it's more or less clear what's wrong when building without
- * C++11.
- *
- * The thing here is: our non-C++11 implementation doesn't
- * have a way to print any message after preprocessor
- * substitution so we rely on the message which is passed to
- * static_assert() since that's the only message visible when
- * compilation fails.
- *
- * After C++11 bump it should be possible to glue structure
- * name to the error message,
- */
 #define static_assert_align(st, align) \
   static_assert((sizeof(st) % (align) == 0), "Structure must be strictly aligned")  // NOLINT
 
diff --git a/intern/ghost/intern/GHOST_ContextCGL.mm b/intern/ghost/intern/GHOST_ContextCGL.mm
index df750fc50f6..e2e74a3113b 100644
--- a/intern/ghost/intern/GHOST_ContextCGL.mm
+++ b/intern/ghost/intern/GHOST_ContextCGL.mm
@@ -34,7 +34,9 @@
 
 static void ghost_fatal_error_dialog(const char *msg)
 {
+  /* clang-format off */
   @autoreleasepool {
+    /* clang-format on */
     NSString *message = [NSString stringWithFormat:@"Error opening window:\n%s", msg];
 
     NSAlert *alert = [[NSAlert alloc] init];
@@ -335,7 +337,9 @@ static const OSType METAL_CORE_VIDEO_PIXEL_FORMAT = kCVPixelFormatType_32BGRA;
 
 void GHOST_ContextCGL::metalInit()
 {
+  /* clang-format off */
   @autoreleasepool {
+    /* clang-format on */
     id<MTLDevice> device = m_metalLayer.device;
 
     // Create a command queue for blit/present operation
@@ -530,7 +534,9 @@ void GHOST_ContextCGL::metalUpdateFramebuffer()
 
 void GHOST_ContextCGL::metalSwapBuffers()
 {
+  /* clang-format off */
   @autoreleasepool {
+    /* clang-format on */
     updateDrawingContext();
     glFlush();
 
diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm
index c40b6445348..81eb27a129a 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.mm
+++ b/intern/ghost/intern/GHOST_WindowCocoa.mm
@@ -952,7 +952,9 @@ static NSCursor *getImageCursor(GHOST_TStandardCursor shape, NSString *name, NSP
   const int index = (int)shape;
   if (!loaded[index]) {
     /* Load image from file in application Resources folder. */
+    /* clang-format off */
     @autoreleasepool {
+      /* clang-format on */
       NSImage *image = [NSImage imageNamed:name];
       if (image != NULL) {
         cursors[index] = [[NSCursor alloc] initWithImage:image hotSpot:hotspot];
diff --git a/source/blender/blenkernel/intern/pbvh_bmesh.c b/source/blender/blenkernel/intern/pbvh_bmesh.c
index 9f7b6be18a7..7e42f370e9b 100644
--- a/source/blender/blenkernel/intern/pbvh_bmesh.c
+++ b/source/blender/blenkernel/intern/pbvh_bmesh.c
@@ -1977,7 +1977,7 @@ bool BKE_pbvh_bmesh_update_topology(PBVH *bvh,
 
   if (mode & PBVH_Collapse) {
     EdgeQueue q;
-    BLI_mempool *queue_pool = BLI_mempool_create(sizeof(BMVert * [2]), 0, 128, BLI_MEMPOOL_NOP);
+    BLI_mempool *queue_pool = BLI_mempool_create(sizeof(BMVert *) * 2, 0, 128, BLI_MEMPOOL_NOP);
     EdgeQueueContext eq_ctx = {
         &q,
         queue_pool,
@@ -1996,7 +1996,7 @@ bool BKE_pbvh_bmesh_update_topology(PBVH *bvh,
 
   if (mode & PBVH_Subdivide) {
     EdgeQueue q;
-    BLI_mempool *queue_pool = BLI_mempool_create(sizeof(BMVert * [2]), 0, 128, BLI_MEMPOOL_NOP);
+    BLI_mempool *queue_pool = BLI_mempool_create(sizeof(BMVert *) * 2, 0, 128, BLI_MEMPOOL_NOP);
     EdgeQueueContext eq_ctx = {
         &q,
         queue_pool,
diff --git a/source/blender/blenlib/BLI_compiler_compat.h b/source/blender/blenlib/BLI_compiler_compat.h
index bd1cd327d3c..056ea1a08c6 100644
--- a/source/blender/blenlib/BLI_compiler_compat.h
+++ b/source/blender/blenlib/BLI_compiler_compat.h
@@ -14,8 +14,13 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
+/* clang-format off */
+
+/* #define typeof() triggers a bug in some clang-format versions, disable format
+ * for entire file to keep results consistent. */
+
 #ifndef __BLI_COMPILER_COMPAT_H__
-#  define __BLI_COMPILER_COMPAT_H__
+#define __BLI_COMPILER_COMPAT_H__
 
 /** \file
  * \ingroup bli
@@ -23,32 +28,32 @@
  * Use to help with cross platform portability.
  */
 
-#  if defined(_MSC_VER)
-#    define alloca _alloca
-#  endif
+#if defined(_MSC_VER)
+#  define alloca _alloca
+#endif
 
-#  if (defined(__GNUC__) || defined(__clang__)) && defined(__cplusplus)
+#if (defined(__GNUC__) || defined(__clang__)) && defined(__cplusplus)
 extern "C++" {
 /* Some magic to be sure we don't have reference in the type. */
 template<typename T> static inline T decltype_helper(T x)
 {
   return x;
 }
-#    define typeof(x) decltype(decltype_helper(x))
+#define typeof(x) decltype(decltype_helper(x))
 }
-#  endif
+#endif
 
 /* little macro so inline keyword works */
-#  if defined(_MSC_VER)
-#    define BLI_INLINE static __forceinline
-#  else
-#    define BLI_INLINE static inline __attribute__((always_inline)) __attribute__((__unused__))
-#  endif
-
-#  if defined(__GNUC__)
-#    define BLI_NOINLINE __attribute__((noinline))
-#  else
-#    define BLI_NOINLINE
-#  endif
+#if defined(_MSC_VER)
+#  define BLI_INLINE static __forceinline
+#else
+#  define BLI_INLINE static inline __attribute__((always_inline)) __attribute__((__unused__))
+#endif
+
+#if defined(__GNUC__)
+#  define BLI_NOINLINE __attribute__((noinline))
+#else
+#  define BLI_NOINLINE
+#endif
 
 #endif /* __BLI_COMPILER_COMPAT_H__ */
diff --git a/source/blender/blenlib/BLI_map.h b/source/blender/blenlib/BLI_map.h
index 73b731252b6..6971f9d362e 100644
--- a/source/blender/blenlib/BLI_map.h
+++ b/source/blender/blenlib/BLI_map.h
@@ -637,16 +637,15 @@ template<typename KeyT, typename ValueT, typename Allocator = GuardedAllocator>
   template<typename ForwardKeyT, typename ForwardValueT>
   bool add_override__impl(ForwardKeyT &&key, ForwardValueT &&value)
   {
-    return this->add_or_modify(
-        std::forward<ForwardKeyT>(key),
-        [&](ValueT *dst) {
-          new (dst) ValueT(std::forward<ForwardValueT>(value));
-          return true;
-        },
-        [&](ValueT *old_value) {
-          *old_value = std::forward<ForwardValueT>(value);
-          return false;
-        });
+    auto create_func = [&](ValueT *dst) {
+      new (dst) ValueT(std::forward<ForwardValueT>(value));
+      return true;
+    };
+    auto modify_func = [&](ValueT *old_value) {
+      *old_value = std::forward<ForwardValueT>(value);
+      return false;
+    };
+    return this->add_or_modify(std::forward<ForwardKeyT>(key), create_func, modify_func);
   }
 
   template<typename ForwardKeyT, typename ForwardValueT>
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index 353f3124d37..c9e6cd24ac0 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -2943,7 +2943,8 @@ void ED_region_info_draw(ARegion *ar,
                          float fill_color[4],
                          const bool full_redraw)
 {
-  ED_region_info_draw_multiline(ar, (const char * [2]){text, NULL}, fill_color, full_redraw);
+  const char *text_array[2] = {text, NULL};
+  ED_region_info_draw_multiline(ar, text_array, fill_color, full_redraw);
 }
 
 #define MAX_METADATA_STR 1024



More information about the Bf-blender-cvs mailing list