Try to fix MSVC and __STDC_VERSION__ again.

Looks like it was the use in type_check.h that was still causing
problems, not that MSVC doesn't short-circuit #if statements.

Change-Id: I574e8dd463c46b0133a989b221a7bb8861b3eed9
This commit is contained in:
Adam Langley 2015-05-20 13:42:12 -07:00
parent cb56c2a137
commit 12a4768f7d
2 changed files with 3 additions and 4 deletions

View File

@ -356,15 +356,14 @@ OPENSSL_EXPORT void CRYPTO_once(CRYPTO_once_t *once, void (*init)(void));
/* Reference counting. */ /* Reference counting. */
#if defined(__STDC_VERSION__) #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && \
#if __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_ATOMICS__) !defined(__STDC_NO_ATOMICS__)
/* OSX's atomic support is broken: the compiler sets the right macros but /* OSX's atomic support is broken: the compiler sets the right macros but
* stdatomic.h is missing. */ * stdatomic.h is missing. */
#if !defined(OPENSSL_APPLE) #if !defined(OPENSSL_APPLE)
#define OPENSSL_C11_ATOMIC #define OPENSSL_C11_ATOMIC
#endif #endif
#endif #endif
#endif
/* CRYPTO_REFCOUNT_MAX is the value at which the reference count saturates. */ /* CRYPTO_REFCOUNT_MAX is the value at which the reference count saturates. */
#define CRYPTO_REFCOUNT_MAX 0xffffffff #define CRYPTO_REFCOUNT_MAX 0xffffffff

View File

@ -76,7 +76,7 @@ extern "C" {
* was a pointer to |type|. */ * was a pointer to |type|. */
#define CHECKED_PTR_OF(type, p) CHECKED_CAST(void*, type*, (p)) #define CHECKED_PTR_OF(type, p) CHECKED_CAST(void*, type*, (p))
#if __STDC_VERSION__ >= 201112L #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
#define OPENSSL_COMPILE_ASSERT(cond, msg) _Static_assert(cond, #msg) #define OPENSSL_COMPILE_ASSERT(cond, msg) _Static_assert(cond, #msg)
#else #else
#define OPENSSL_COMPILE_ASSERT(cond, msg) \ #define OPENSSL_COMPILE_ASSERT(cond, msg) \