From 01b76c2c5d4d786cfcb3cc048d9c0c47229a0aa0 Mon Sep 17 00:00:00 2001 From: Bernd Edlinger Date: Thu, 23 Feb 2017 14:52:23 +0100 Subject: [PATCH] Add -Wundef to --strict-warnings options. Avoid a -Wundef warning in refcount.h Avoid a -Wundef warning in o_str.c Avoid a -Wundef warning in testutil.h Include internal/cryptlib.h before openssl/stack.h to avoid use of undefined symbol OPENSSL_API_COMPAT. Reviewed-by: Andy Polyakov Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/2712) --- Configure | 2 ++ crypto/o_str.c | 3 ++- crypto/x509/x509_att.c | 2 +- crypto/x509/x509_ext.c | 2 +- crypto/x509/x509_v3.c | 2 +- crypto/x509/x509name.c | 2 +- crypto/x509/x_all.c | 2 +- include/internal/refcount.h | 6 ++++-- test/testutil.h | 2 +- 9 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Configure b/Configure index e24980ac8f..4404963aa7 100755 --- a/Configure +++ b/Configure @@ -124,6 +124,7 @@ my $gcc_devteam_warn = "-DDEBUG_UNUSED" . " -Wshadow" . " -Wformat" . " -Wtype-limits" + . " -Wundef" . " -Werror" ; @@ -147,6 +148,7 @@ my $clang_devteam_warn = "" . " -Wconditional-uninitialized" . " -Wincompatible-pointer-types-discards-qualifiers" . " -Wmissing-variable-declarations" + . " -Wundef" ; # This adds backtrace information to the memory leak info. Is only used diff --git a/crypto/o_str.c b/crypto/o_str.c index beabec0ddc..d8516c27bb 100644 --- a/crypto/o_str.c +++ b/crypto/o_str.c @@ -227,7 +227,8 @@ int openssl_strerror_r(int errnum, char *buf, size_t buflen) return !strerror_s(buf, buflen, errnum); #elif defined(_GNU_SOURCE) return strerror_r(errnum, buf, buflen) != NULL; -#elif (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) +#elif (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) || \ + (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 600) /* * We can use "real" strerror_r. The OpenSSL version differs in that it * gives 1 on success and 0 on failure for consistency with other OpenSSL diff --git a/crypto/x509/x509_att.c b/crypto/x509/x509_att.c index a91f9829b5..3876a83323 100644 --- a/crypto/x509/x509_att.c +++ b/crypto/x509/x509_att.c @@ -8,8 +8,8 @@ */ #include -#include #include "internal/cryptlib.h" +#include #include #include #include diff --git a/crypto/x509/x509_ext.c b/crypto/x509/x509_ext.c index 3bbb0a6b6c..3c59079852 100644 --- a/crypto/x509/x509_ext.c +++ b/crypto/x509/x509_ext.c @@ -8,8 +8,8 @@ */ #include -#include #include "internal/cryptlib.h" +#include #include #include #include diff --git a/crypto/x509/x509_v3.c b/crypto/x509/x509_v3.c index ad126efeba..213e762f98 100644 --- a/crypto/x509/x509_v3.c +++ b/crypto/x509/x509_v3.c @@ -8,8 +8,8 @@ */ #include -#include #include "internal/cryptlib.h" +#include #include #include #include diff --git a/crypto/x509/x509name.c b/crypto/x509/x509name.c index ab53794741..2935b17af9 100644 --- a/crypto/x509/x509name.c +++ b/crypto/x509/x509name.c @@ -8,8 +8,8 @@ */ #include -#include #include "internal/cryptlib.h" +#include #include #include #include diff --git a/crypto/x509/x_all.c b/crypto/x509/x_all.c index 124dd2d2f8..42bd161185 100644 --- a/crypto/x509/x_all.c +++ b/crypto/x509/x_all.c @@ -8,8 +8,8 @@ */ #include -#include #include "internal/cryptlib.h" +#include #include #include #include diff --git a/include/internal/refcount.h b/include/internal/refcount.h index b83e05c4cc..591561ffee 100644 --- a/include/internal/refcount.h +++ b/include/internal/refcount.h @@ -9,12 +9,14 @@ #ifndef HEADER_INTERNAL_REFCOUNT_H # define HEADER_INTERNAL_REFCOUNT_H -# if __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_ATOMICS__) +# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L \ + && !defined(__STDC_NO_ATOMICS__) # include # define HAVE_C11_ATOMICS # endif -# if defined(HAVE_C11_ATOMICS) && ATOMIC_INT_LOCK_FREE > 0 +# if defined(HAVE_C11_ATOMICS) && defined(ATOMIC_INT_LOCK_FREE) \ + && ATOMIC_INT_LOCK_FREE > 0 # define HAVE_ATOMICS 1 diff --git a/test/testutil.h b/test/testutil.h index 39b6d0e6f1..cc2f15306c 100644 --- a/test/testutil.h +++ b/test/testutil.h @@ -107,7 +107,7 @@ * TEST_CASE_NAME is defined as the name of the test case function where * possible; otherwise we get by with the file name and line number. */ -# if __STDC_VERSION__ < 199901L +# if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L # if defined(_MSC_VER) # define TEST_CASE_NAME __FUNCTION__ # else -- 2.34.1