]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix tortls.c build with GCC<4.6
authorNick Mathewson <nickm@torproject.org>
Sat, 10 Jan 2015 22:25:16 +0000 (17:25 -0500)
committerNick Mathewson <nickm@torproject.org>
Sat, 10 Jan 2015 22:31:48 +0000 (17:31 -0500)
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

index ea6ee0dee4cdb1354d7cfa0f6464542ddbfbe855..ca629135a62e1b30fb0a394c5d3c60ff1c4cb596 100644 (file)
 #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"
 #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