shithub: freetype+ttf2subf

Download patch

ref: b757ddb1629d524cd92eb9b39ce298e0dffd57fd
parent: 5ad845771a7389e72e4868dd1d4f0986f812b705
author: suzuki toshiya <[email protected]>
date: Wed Sep 13 18:17:03 EDT 2017

[sfnt] lowest gcc for vectors ( e1d0249e ) is changed to 4.7.

__builtin_shuffle() was introduced in gcc-4.7.  The lowest
gcc to enable vector operation is delayed from 4.6 to 4.7.

* src/sfnt/pngshim.c (premultiply_data): Fix cpp-macro to
enable the vector operation, to change the lowest gcc version
from 4.6 to 4.7.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2017-09-13  suzuki toshiya  <[email protected]>
 
+	[sfnt] lowest gcc for vectors ( e1d0249e ) is changed to 4.7.
+
+	__builtin_shuffle() was introduced in gcc-4.7.  The lowest
+	gcc to enable vector operation is delayed from 4.6 to 4.7.
+
+	* src/sfnt/pngshim.c (premultiply_data): Fix cpp-macro to
+	enable the vector operation, to change the lowest gcc version
+	from 4.6 to 4.7.
+
+2017-09-13  suzuki toshiya  <[email protected]>
+
 	[cache] Fix a possible overflow by signed integer comparison.
 
 	Improve the code by 5d3ff05615dda6d1325ed612381a17a0df04c975 ,
--- a/src/sfnt/pngshim.c
+++ b/src/sfnt/pngshim.c
@@ -59,10 +59,11 @@
 
     /* the `vector_size' attribute was introduced in gcc 3.1, which */
     /* predates clang; the `__BYTE_ORDER__' preprocessor symbol was */
-    /* introduced in gcc 4.6 and clang 3.2, respectively            */
+    /* introduced in gcc 4.6 and clang 3.2, respectively.           */
+    /* __builtin_shuffle() for gcc was introduced in gcc 4.7.0.     */
 #if ( ( defined( __GNUC__ )                                &&             \
         ( ( __GNUC__ >= 5 )                              ||               \
-        ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 6 ) ) ) )         ||   \
+        ( ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ >= 7 ) ) ) )         ||   \
       ( defined( __clang__ )                                       &&     \
         ( ( __clang_major__ >= 4 )                               ||       \
         ( ( __clang_major__ == 3 ) && ( __clang_minor__ >= 2 ) ) ) ) ) && \