Better support of LLP64 systems with gcc (and clang).
* builds/unix/configure.raw: Call `AC_TYPE_LONG_LONG_INT'. * builds/unix/ftconfig.in (FT_LONG64): Enable for LLP64 systems (and suppress warnings) even without `FT_CONFIG_OPTION_FORCE_INT64'.
This commit is contained in:
parent
9e7748f55c
commit
7815050334
|
@ -1,3 +1,12 @@
|
|||
2016-11-17 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Better support of LLP64 systems with gcc (and clang).
|
||||
|
||||
* builds/unix/configure.raw: Call `AC_TYPE_LONG_LONG_INT'.
|
||||
|
||||
* builds/unix/ftconfig.in (FT_LONG64): Enable for LLP64 systems (and
|
||||
suppress warnings) even without `FT_CONFIG_OPTION_FORCE_INT64'.
|
||||
|
||||
2016-11-10 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
Fix `lcd_weights' array size.
|
||||
|
|
|
@ -105,6 +105,7 @@ AC_CHECK_HEADERS([fcntl.h unistd.h])
|
|||
AC_C_CONST
|
||||
AC_CHECK_SIZEOF([int])
|
||||
AC_CHECK_SIZEOF([long])
|
||||
AC_TYPE_LONG_LONG_INT
|
||||
|
||||
|
||||
# check whether cpp computation of size of int and long in ftconfig.in works
|
||||
|
|
|
@ -287,8 +287,8 @@ FT_BEGIN_HEADER
|
|||
#endif
|
||||
|
||||
|
||||
/* determine whether we have a 64-bit int type for platforms without */
|
||||
/* Autoconf */
|
||||
/* determine whether we have a 64-bit int type */
|
||||
/* (mostly for environments without `autoconf') */
|
||||
#if FT_SIZEOF_LONG == 8
|
||||
|
||||
/* FT_LONG64 must be defined if a 64-bit type is available */
|
||||
|
@ -296,6 +296,16 @@ FT_BEGIN_HEADER
|
|||
#define FT_INT64 long
|
||||
#define FT_UINT64 unsigned long
|
||||
|
||||
/* we handle the LLP64 scheme separately for GCC and clang, */
|
||||
/* suppressing the `long long' warning */
|
||||
#elif ( FT_SIZEOF_LONG == 4 ) && \
|
||||
defined( HAVE_LONG_LONG_INT ) && \
|
||||
defined( __GNUC__ )
|
||||
#pragma GCC diagnostic ignored "-Wlong-long"
|
||||
#define FT_LONG64
|
||||
#define FT_INT64 long long int
|
||||
#define FT_UINT64 unsigned long long int
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* A 64-bit data type may create compilation problems if you compile */
|
||||
|
|
Loading…
Reference in New Issue