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 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 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(_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(__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 template bool add_override__impl(ForwardKeyT &&key, ForwardValueT &&value) { - return this->add_or_modify( - std::forward(key), - [&](ValueT *dst) { - new (dst) ValueT(std::forward(value)); - return true; - }, - [&](ValueT *old_value) { - *old_value = std::forward(value); - return false; - }); + auto create_func = [&](ValueT *dst) { + new (dst) ValueT(std::forward(value)); + return true; + }; + auto modify_func = [&](ValueT *old_value) { + *old_value = std::forward(value); + return false; + }; + return this->add_or_modify(std::forward(key), create_func, modify_func); } template 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