Commit: cba0858ccd74ba983f92d6b7dfc41c2a2d3bf398
Author: Sergey Sharybin
Date:   Tue Jul 14 11:33:50 2015 +0200
Branches: master
https://developer.blender.org/rBcba0858ccd74ba983f92d6b7dfc41c2a2d3bf398

Fix for recent optimization commit in endian switch

Pre-4.8 GCC had a bug which lead to non-exposed __builtin_bswap16() symbol.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52624 for details.

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

M       source/blender/blenlib/BLI_endian_switch_inline.h

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

diff --git a/source/blender/blenlib/BLI_endian_switch_inline.h 
b/source/blender/blenlib/BLI_endian_switch_inline.h
index 9c4e819..280503e 100644
--- a/source/blender/blenlib/BLI_endian_switch_inline.h
+++ b/source/blender/blenlib/BLI_endian_switch_inline.h
@@ -42,7 +42,7 @@ BLI_INLINE void BLI_endian_switch_int16(short *val)
 }
 BLI_INLINE void BLI_endian_switch_uint16(unsigned short *val)
 {
-#ifdef __GNUC__
+#if (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 408))  /* 
gcc4.8+ only */
        *val = __builtin_bswap16(*val);
 #else
        unsigned short tval = *val;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to