[tor-commits] [tor/master] Fix tortls.c build with GCC<4.6

nickm at torproject.org nickm at torproject.org
Sat Jan 10 22:31:56 UTC 2015


commit b2663298e9179368d521d9088b2bbf0f12b490e2
Author: Nick Mathewson <nickm at torproject.org>
Date:   Sat Jan 10 17:25:16 2015 -0500

    Fix tortls.c build with GCC<4.6
    
    apparantly, "pragma GCC diagnostic push/pop" don't exist with older versions.
    
    Fixes bug in 740e592790f570c446cbb5e6d4a77f842f75; bug not in any
    released Tor.
---
 src/common/tortls.c |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/common/tortls.c b/src/common/tortls.c
index ea6ee0d..ca62913 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -31,7 +31,13 @@
 #endif
 
 #ifdef __GNUC__
+#define GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
+#endif
+
+#if __GNUC__ && GCC_VERSION >= 402
+#if GCC_VERSION >= 406
 #pragma GCC diagnostic push
+#endif
 /* Some versions of OpenSSL declare SSL_get_selected_srtp_profile twice in
  * srtp.h. Suppress the GCC warning so we can build with -Wredundant-decl. */
 #pragma GCC diagnostic ignored "-Wredundant-decls"
@@ -45,8 +51,12 @@
 #include <openssl/bio.h>
 #include <openssl/opensslv.h>
 
-#ifdef __GNUC__
+#if __GNUC__ && GCC_VERSION >= 402
+#if GCC_VERSION >= 406
 #pragma GCC diagnostic pop
+#else
+#pragma GCC diagnostic warning "-Wredundant-decls"
+#endif
 #endif
 
 #ifdef USE_BUFFEREVENTS



More information about the tor-commits mailing list