From e9176365751d41c5ff9faa7074d1b48acf3fc59e Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Sat, 19 Dec 2015 14:53:11 +0000 Subject: [PATCH] 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. --- Lib/tcl/tclrun.swg | 6 ++++++ Source/Modules/tcl8.cxx | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) 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,