From d6b01211b94d0f346a408eef78e04a8d0ffbb51f Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 14 Jun 2016 20:14:53 -0400 Subject: [PATCH] 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 c8a17c837..15970a73f 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 #include #include @@ -30,6 +43,15 @@ #include #include #include + +#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 614f9b5de..8d990d334 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 #include #include @@ -40,6 +53,14 @@ #include #include +#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 #endif diff --git a/src/test/test_microdesc.c b/src/test/test_microdesc.c index 581f58b45..dbd1e5ac4 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 #include #include +#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