You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2014/07/23 15:24:20 UTC
[2/9] git commit: refs/heads/master - Regenerate charmonizer.c for
MinGW
Regenerate charmonizer.c for MinGW
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/3c9015bf
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/3c9015bf
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/3c9015bf
Branch: refs/heads/master
Commit: 3c9015bf6cadd0986a23c91c50752fd1b223d24b
Parents: 479c277
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Mon Jul 21 22:34:48 2014 +0200
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Mon Jul 21 22:34:48 2014 +0200
----------------------------------------------------------------------
common/charmonizer.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy/blob/3c9015bf/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/common/charmonizer.c b/common/charmonizer.c
index 683dfe0..3318d79 100644
--- a/common/charmonizer.c
+++ b/common/charmonizer.c
@@ -6887,7 +6887,19 @@ chaz_SymbolVisibility_run(void) {
if (chaz_CC_test_compile(code_buf)) {
can_control_visibility = true;
chaz_ConfWriter_add_def("EXPORT", export_win);
- chaz_ConfWriter_add_def("IMPORT", "__declspec(dllimport)");
+ if (chaz_CC_gcc_version_num()) {
+ /*
+ * Under MinGW, symbols with dllimport storage class aren't
+ * constant. If a global variable is initialized to such a
+ * symbol, an "initializer element is not constant" error
+ * results. Omitting dllimport works, but has a small
+ * performance penalty.
+ */
+ chaz_ConfWriter_add_def("IMPORT", NULL);
+ }
+ else {
+ chaz_ConfWriter_add_def("IMPORT", "__declspec(dllimport)");
+ }
}
}