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.
--- 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 ) ) ) ) ) && \