The compiler may complain about what looks like a double definition of a

static variable
This commit is contained in:
Richard Levitte 2004-07-27 13:58:27 +00:00
parent a25aca2943
commit 4591850561

View File

@ -267,9 +267,10 @@ extern "C" {
#define foobar OPENSSL_GLOBAL_REF(foobar) #define foobar OPENSSL_GLOBAL_REF(foobar)
*/ */
#ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION #ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION
# define OPENSSL_IMPLEMENT_GLOBAL(type,name) static type _hide_##name; \ # define OPENSSL_IMPLEMENT_GLOBAL(type,name) \
type *_shadow_##name(void) { return &_hide_##name; } \ extern static type _hide_##name; \
static type _hide_##name type *_shadow_##name(void) { return &_hide_##name; } \
static type _hide_##name
# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) # define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void)
# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name())) # define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))
#else #else