summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2015-12-19 14:53:11 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2015-12-19 16:21:23 +0000
commite9176365751d41c5ff9faa7074d1b48acf3fc59e (patch)
treec15a9f6cf9fa22744a2e3c3680be697181d3234f
parent6a61f8271f372e74aa0d2d44533dd1d7295eff64 (diff)
downloadswig-e9176365751d41c5ff9faa7074d1b48acf3fc59e.tar.gz
Tcl fix when using -Wmissing-field-initializers warnings
Only fixed for Tcl >= 8.5 as prior to this version the Tcl_HashTable structure changed a few times.
-rw-r--r--Lib/tcl/tclrun.swg6
-rw-r--r--Source/Modules/tcl8.cxx2
2 files changed, 7 insertions, 1 deletions
diff --git a/Lib/tcl/tclrun.swg b/Lib/tcl/tclrun.swg
index c91a7e511..fd1052a28 100644
--- a/Lib/tcl/tclrun.swg
+++ b/Lib/tcl/tclrun.swg
@@ -67,6 +67,12 @@
#define SWIG_GetConstant SWIG_GetConstantObj
#define SWIG_Tcl_GetConstant SWIG_Tcl_GetConstantObj
+#if TCL_MAJOR_VERSION >= 8 && TCL_MINOR_VERSION >= 5
+#define SWIG_TCL_HASHTABLE_INIT {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
+#else
+#define SWIG_TCL_HASHTABLE_INIT {0}
+#endif
+
#include "assert.h"
#ifdef __cplusplus
diff --git a/Source/Modules/tcl8.cxx b/Source/Modules/tcl8.cxx
index 2e32fc808..72eba0594 100644
--- a/Source/Modules/tcl8.cxx
+++ b/Source/Modules/tcl8.cxx
@@ -968,7 +968,7 @@ public:
Printf(f_wrappers, ",0");
}
Printv(f_wrappers, ", swig_", mangled_classname, "_methods, swig_", mangled_classname, "_attributes, swig_", mangled_classname, "_bases,",
- "swig_", mangled_classname, "_base_names, &swig_module };\n", NIL);
+ "swig_", mangled_classname, "_base_names, &swig_module, SWIG_TCL_HASHTABLE_INIT };\n", NIL);
if (!itcl) {
Printv(cmd_tab, tab4, "{ SWIG_prefix \"", class_name, "\", (swig_wrapper_func) SWIG_ObjectConstructor, (ClientData)&_wrap_class_", mangled_classname,