* 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.
This commit is contained in:
David Turner 2021-07-16 11:12:13 +02:00 committed by Werner Lemberg
parent 7bc0f48c27
commit 357b353c2a
2 changed files with 24 additions and 1 deletions

View File

@ -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.

View File

@ -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