From e790dbe779de620bdb0b2f52d4d04ce84bb7c5a8 Mon Sep 17 00:00:00 2001
From: Nick Mathewson <nickm@torproject.org>
Date: Thu, 21 Feb 2008 20:54:45 +0000
Subject: [PATCH]  r18347@catbus:  nickm | 2008-02-21 15:54:40 -0500  Make
 autoconf autodetect -Wshorten-64-to-32 when --enable-gcc-warnings is given to
 the configure script.

svn:r13661
---
 ChangeLog    |  4 ++++
 configure.in | 13 ++++++++++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 8b55c42d36..fab6092471 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -46,6 +46,10 @@ Changes in version 0.2.0.20-?? - 2008-02-??
     - When SafeLogging is disabled, log addresses along with all TLS
       errors.
 
+  o Minor features (build):
+    - When built with --enable-gcc-warnings, check for whether Apple's
+      warning "-Wshorten-64-to-32" is enabled.
+
   o Minor bugfixes:
     - Log the correct memory chunk sizes for empty RAM chunks in mempool.c.
     - Directory mirrors no longer include a guess at the client's IP
diff --git a/configure.in b/configure.in
index 0445ad97f7..cf32d04f5d 100644
--- a/configure.in
+++ b/configure.in
@@ -711,6 +711,12 @@ if test x$enable_gcc_warnings = xyes; then
 #error
 #endif]), have_gcc42=yes, have_gcc42=no)
 
+  save_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -Wshorten-64-to-32"
+  AC_COMPILE_IFELSE(AC_LANG_PROGRAM([], []), have_shorten64_flag=yes,
+                    have_shorten64_flag=no)
+  CFLAGS="$save_CFLAGS"
+
   CFLAGS="$CFLAGS -W -Wfloat-equal -Wundef -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wchar-subscripts -Wcomment -Wformat=2 -Wwrite-strings -Wmissing-declarations -Wredundant-decls -Wnested-externs -Wbad-function-cast -Wswitch-enum -Werror"
   # Disabled, so we can use mallinfo(): -Waggregate-return
 
@@ -726,11 +732,16 @@ if test x$enable_gcc_warnings = xyes; then
     CFLAGS="$CFLAGS -Waddress -Wmissing-noreturn -Wnormalized=id -Woverride-init -Wstrict-overflow=5"
   fi
 
+  if test x$have_shorten64_flag = xyes ; then
+    CFLAGS="$CFLAGS -Wshorten-64-to-32"
+  fi
+
 ##This will break the world on some 64-bit architectures
 # CFLAGS="$CFLAGS -Winline"
-
 fi
 
+
+
 CPPFLAGS="$CPPFLAGS $TOR_CPPFLAGS_libevent $TOR_CPPFLAGS_openssl $TOR_CPPFLAGS_zlib"
 
 AC_CONFIG_FILES([Makefile tor.spec Doxyfile contrib/tor.sh contrib/torctl contrib/torify contrib/tor.logrotate contrib/Makefile contrib/osx/Makefile contrib/osx/TorBundleDesc.plist contrib/osx/TorBundleInfo.plist contrib/osx/TorDesc.plist contrib/osx/TorInfo.plist contrib/osx/TorStartupDesc.plist src/config/torrc.sample doc/tor.1 src/Makefile doc/Makefile doc/design-paper/Makefile doc/spec/Makefile src/config/Makefile src/common/Makefile src/or/Makefile src/win32/Makefile src/tools/Makefile contrib/suse/Makefile contrib/suse/tor.sh])
-- 
GitLab