commit d6b01211b94d0f346a408eef78e04a8d0ffbb51f Author: Nick Mathewson nickm@torproject.org Date: Tue Jun 14 20:14:53 2016 -0400
Resolve the remaining openssl "-Wredundant-decls" warnings.
Another part of 19406 --- src/common/aes.c | 22 ++++++++++++++++++++++ src/common/crypto.c | 21 +++++++++++++++++++++ src/test/test_microdesc.c | 21 +++++++++++++++++++++ 3 files changed, 64 insertions(+)
diff --git a/src/common/aes.c b/src/common/aes.c index c8a17c8..15970a7 100644 --- a/src/common/aes.c +++ b/src/common/aes.c @@ -23,6 +23,19 @@ #error "We require OpenSSL >= 1.0.0" #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" +#endif + #include <assert.h> #include <stdlib.h> #include <string.h> @@ -30,6 +43,15 @@ #include <openssl/evp.h> #include <openssl/engine.h> #include <openssl/modes.h> + +#if __GNUC__ && GCC_VERSION >= 402 +#if GCC_VERSION >= 406 +#pragma GCC diagnostic pop +#else +#pragma GCC diagnostic warning "-Wredundant-decls" +#endif +#endif + #include "compat.h" #include "aes.h" #include "util.h" diff --git a/src/common/crypto.c b/src/common/crypto.c index 614f9b5..8d990d3 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -29,6 +29,19 @@ #include "crypto_ed25519.h" #include "crypto_format.h"
+#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 X509_STORE_CTX_set_verify_cb twice. + * Suppress the GCC warning so we can build with -Wredundant-decl. */ +#pragma GCC diagnostic ignored "-Wredundant-decls" +#endif + #include <openssl/err.h> #include <openssl/rsa.h> #include <openssl/pem.h> @@ -40,6 +53,14 @@ #include <openssl/conf.h> #include <openssl/hmac.h>
+#if __GNUC__ && GCC_VERSION >= 402 +#if GCC_VERSION >= 406 +#pragma GCC diagnostic pop +#else +#pragma GCC diagnostic warning "-Wredundant-decls" +#endif +#endif + #ifdef HAVE_CTYPE_H #include <ctype.h> #endif diff --git a/src/test/test_microdesc.c b/src/test/test_microdesc.c index 581f58b..dbd1e5a 100644 --- a/src/test/test_microdesc.c +++ b/src/test/test_microdesc.c @@ -14,10 +14,31 @@
#include "test.h"
+#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 X509_STORE_CTX_set_verify_cb twice. + * Suppress the GCC warning so we can build with -Wredundant-decl. */ +#pragma GCC diagnostic ignored "-Wredundant-decls" +#endif + #include <openssl/rsa.h> #include <openssl/bn.h> #include <openssl/pem.h>
+#if __GNUC__ && GCC_VERSION >= 402 +#if GCC_VERSION >= 406 +#pragma GCC diagnostic pop +#else +#pragma GCC diagnostic warning "-Wredundant-decls" +#endif +#endif + #ifdef _WIN32 /* For mkdir() */ #include <direct.h>
tor-commits@lists.torproject.org