freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master 7815050: Better support of LLP64 systems with gcc (an


From: Werner LEMBERG
Subject: [freetype2] master 7815050: Better support of LLP64 systems with gcc (and clang).
Date: Thu, 17 Nov 2016 11:05:21 +0000 (UTC)

branch: master
commit 7815050334f67b1bdf6ce11c22cdde1fe0e68e41
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    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'.
---
 ChangeLog                 |    9 +++++++++
 builds/unix/configure.raw |    1 +
 builds/unix/ftconfig.in   |   14 ++++++++++++--
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 793eb89..dd68497 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2016-11-17  Werner Lemberg  <address@hidden>
+
+       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  <address@hidden>
 
        Fix `lcd_weights' array size.
diff --git a/builds/unix/configure.raw b/builds/unix/configure.raw
index 72dd2ae..034c9eb 100644
--- a/builds/unix/configure.raw
+++ b/builds/unix/configure.raw
@@ -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
diff --git a/builds/unix/ftconfig.in b/builds/unix/ftconfig.in
index 7eb5106..6f228f5 100644
--- a/builds/unix/ftconfig.in
+++ b/builds/unix/ftconfig.in
@@ -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     */



reply via email to

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