[Bf-blender-cvs] [459daf16487] master: Fix Linux build error after recent changes.
Brecht Van Lommel
noreply at git.blender.org
Tue Apr 2 16:30:58 CEST 2019
Commit: 459daf16487485533ca9cdfb347fc8767fbf887a
Author: Brecht Van Lommel
Date: Tue Apr 2 16:30:39 2019 +0200
Branches: master
https://developer.blender.org/rB459daf16487485533ca9cdfb347fc8767fbf887a
Fix Linux build error after recent changes.
===================================================================
M source/blender/blenlib/BLI_assert.h
===================================================================
diff --git a/source/blender/blenlib/BLI_assert.h b/source/blender/blenlib/BLI_assert.h
index 3454b236fca..52d4858548a 100644
--- a/source/blender/blenlib/BLI_assert.h
+++ b/source/blender/blenlib/BLI_assert.h
@@ -79,10 +79,15 @@ extern "C" {
#elif defined(_MSC_VER)
# define BLI_STATIC_ASSERT(a, msg) _STATIC_ASSERT(a);
#else /* older gcc, clang... */
- /* This can't be used twice on the same line so ensure if using in headers
- * that the headers are not included twice (by wrapping in #ifndef...#endif)
- * Note it doesn't cause an issue when used on same line of separate modules
- * compiled with gcc -combine -fwhole-program. */
+ /* Code adapted from http://www.pixelbeat.org/programming/gcc/static_assert.html */
+ /* Note we need the two concats below because arguments to ## are not expanded, so we need to
+ * expand __LINE__ with one indirection before doing the actual concatenation. */
+# define _BLI_ASSERT_CONCAT_(a, b) a##b
+# define _BLI_ASSERT_CONCAT(a, b) _BLI_ASSERT_CONCAT_(a, b)
+ /* This can't be used twice on the same line so ensure if using in headers
+ * that the headers are not included twice (by wrapping in #ifndef...#endif)
+ * Note it doesn't cause an issue when used on same line of separate modules
+ * compiled with gcc -combine -fwhole-program. */
# define BLI_STATIC_ASSERT(a, msg) \
; enum { _BLI_ASSERT_CONCAT(assert_line_, __LINE__) = 1 / (int)(!!(a)) };
#endif
More information about the Bf-blender-cvs
mailing list