[glib: 1/2] Add missing 'extern' to the dllexport version of GLIB_VAR/GOBJECT_VAR
- From: Sebastian Dröge <sdroege src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 1/2] Add missing 'extern' to the dllexport version of GLIB_VAR/GOBJECT_VAR
- Date: Wed, 1 Apr 2020 11:27:55 +0000 (UTC)
commit fdfadfc27604b58886d7a33cf5f78bb0617733e6
Author: Martin Storsjö <martin martin st>
Date: Tue Mar 31 23:15:23 2020 +0300
Add missing 'extern' to the dllexport version of GLIB_VAR/GOBJECT_VAR
The __declspec(dllexport) attribute in itself doesn't imply
'extern' - thus any intended variable declaration with
GLIB_VAR/GOBJECT_VAR would actually be a variable definition. With
C compilers defaulting to -fcommon, this isn't an issue, but
upcoming compilers (GCC 10 and Clang 11) will default to -fno-common,
ending up with duplicate definitions of these variables.
glib/gtypes.h | 2 +-
gobject/gparamspecs.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/glib/gtypes.h b/glib/gtypes.h
index df65836a0..23c5a1295 100644
--- a/glib/gtypes.h
+++ b/glib/gtypes.h
@@ -565,7 +565,7 @@ G_END_DECLS
# else /* !GLIB_STATIC_COMPILATION */
# ifdef GLIB_COMPILATION
# ifdef DLL_EXPORT
-# define GLIB_VAR __declspec(dllexport)
+# define GLIB_VAR extern __declspec(dllexport)
# else /* !DLL_EXPORT */
# define GLIB_VAR extern
# endif /* !DLL_EXPORT */
diff --git a/gobject/gparamspecs.h b/gobject/gparamspecs.h
index 0309f9bb3..d0e4d5953 100644
--- a/gobject/gparamspecs.h
+++ b/gobject/gparamspecs.h
@@ -1150,7 +1150,7 @@ GParamSpec* g_param_spec_variant (const gchar *name,
# else /* !GOBJECT_STATIC_COMPILATION */
# ifdef GOBJECT_COMPILATION
# ifdef DLL_EXPORT
-# define GOBJECT_VAR __declspec(dllexport)
+# define GOBJECT_VAR extern __declspec(dllexport)
# else /* !DLL_EXPORT */
# define GOBJECT_VAR extern
# endif /* !DLL_EXPORT */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]