freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] master 357b353: * src/smooth/ftgrays.c: Fix compilation if `


From: Werner Lemberg
Subject: [freetype2] master 357b353: * src/smooth/ftgrays.c: Fix compilation if `FT_LONG64` is undefined.
Date: Sat, 17 Jul 2021 02:32:14 -0400 (EDT)

branch: master
commit 357b353c2a90a64df20f2531f6e4aacef9fb3e28
Author: David Turner <david@freetype.org>
Commit: Werner Lemberg <wl@gnu.org>

    * src/smooth/ftgrays.c: Fix compilation if `FT_LONG64` is undefined.
    
    The code assumed that if `__SSE2__` is defined, then 64-bit integer
    types are available.  This is not the case apparently for certain
    multilib compiler targets like 'x86_32.x86' used by Gentoo.
    
    This patch fixes the issue by disabling the special code path when
    64-bit integer types are not available.
    
    Fixes #1071.
---
 ChangeLog            | 15 ++++++++++++++-
 src/smooth/ftgrays.c | 10 ++++++++++
 2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 7a3a465..2aefedd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2021-07-17  David Turner  <david@freetype.org>
+
+       * src/smooth/ftgrays.c: Fix compilation if `FT_LONG64` is undefined.
+
+       The code assumed that if `__SSE2__` is defined, then 64-bit integer
+       types are available.  This is not the case apparently for certain
+       multilib compiler targets like 'x86_32.x86' used by Gentoo.
+
+       This patch fixes the issue by disabling the special code path when
+       64-bit integer types are not available.
+
+       Fixes #1071.
+
 2021-07-16  Alex Richardson  <Alexander.Richardson@cl.cam.ac.uk>
 
        [tests] Allow arbitrary build directories.
@@ -10,7 +23,7 @@
 
        * tests/meson.build: Updated.
 
-2021-07-15  Alex Richardson  <Alexander.Richardson@cl.cam.ac.uk>
+2021-07-16  Alex Richardson  <Alexander.Richardson@cl.cam.ac.uk>
 
        * tests/issue-1063/main.c (main): Fix uninitialized variable.
 
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index e5f36a0..86118fb 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -1018,6 +1018,16 @@ typedef ptrdiff_t  FT_PtrDist;
 #  define BEZIER_USE_DDA  0
 #endif
 
+  /*
+   * For now, the code that depends on `BEZIER_USE_DDA` requires `FT_Int64`
+   * to be defined.  If `FT_LONG64` is not defined, meaning there is no
+   * 64-bit type available, disable it to avoid compilation errors.  See for
+   * example https://gitlab.freedesktop.org/freetype/freetype/-/issues/1071.
+   */
+#if !defined( FT_LONG64 )
+#  undef BEZIER_USE_DDA
+#  define BEZIER_USE_DDA  0
+#endif
 
 #if BEZIER_USE_DDA
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]