From 2c8980f44cda8ac75890c54305c87dd85a83361a Mon Sep 17 00:00:00 2001 From: Ignacio Etcheverry Date: Wed, 3 Oct 2018 00:56:28 +0200 Subject: [PATCH] Fix GCC compiler warning in mono module - thread_local.h: 'delegating constructors only available with -std=c++11 or -std=gnu++11' - mono_reg_utils.cpp: 'extra tokens at end of #endif directive' - mono_bottom_panel.cpp: ' will be initialized after when initialized here' - bindings_generator.cpp: 'name lookup of 'i' changed (...) matches this 'i' under ISO standard rules (...) matches this 'i' under old rules (...)' --- modules/mono/editor/bindings_generator.cpp | 4 ++-- modules/mono/editor/mono_bottom_panel.cpp | 6 +++--- modules/mono/utils/mono_reg_utils.cpp | 2 +- modules/mono/utils/thread_local.h | 22 ++++++++++++++-------- 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp index 308c54ecb398..2c3435fc1cb9 100644 --- a/modules/mono/editor/bindings_generator.cpp +++ b/modules/mono/editor/bindings_generator.cpp @@ -2244,8 +2244,8 @@ void BindingsGenerator::_populate_global_constants() { String constant_name = GlobalConstants::get_global_constant_name(i); const DocData::ConstantDoc *const_doc = NULL; - for (int i = 0; i < global_scope_doc.constants.size(); i++) { - const DocData::ConstantDoc &curr_const_doc = global_scope_doc.constants[i]; + for (int j = 0; j < global_scope_doc.constants.size(); j++) { + const DocData::ConstantDoc &curr_const_doc = global_scope_doc.constants[j]; if (curr_const_doc.name == constant_name) { const_doc = &curr_const_doc; diff --git a/modules/mono/editor/mono_bottom_panel.cpp b/modules/mono/editor/mono_bottom_panel.cpp index ecc3e4c59ef1..8d9b345a9241 100644 --- a/modules/mono/editor/mono_bottom_panel.cpp +++ b/modules/mono/editor/mono_bottom_panel.cpp @@ -475,14 +475,14 @@ void MonoBuildTab::_bind_methods() { } MonoBuildTab::MonoBuildTab(const MonoBuildInfo &p_build_info, const String &p_logs_dir) : - build_info(p_build_info), - logs_dir(p_logs_dir), build_exited(false), issues_list(memnew(ItemList)), error_count(0), warning_count(0), errors_visible(true), - warnings_visible(true) { + warnings_visible(true), + logs_dir(p_logs_dir), + build_info(p_build_info) { issues_list->set_v_size_flags(SIZE_EXPAND_FILL); issues_list->connect("item_activated", this, "_issue_activated"); add_child(issues_list); diff --git a/modules/mono/utils/mono_reg_utils.cpp b/modules/mono/utils/mono_reg_utils.cpp index 8116df5f51b5..6bb6efa92a52 100644 --- a/modules/mono/utils/mono_reg_utils.cpp +++ b/modules/mono/utils/mono_reg_utils.cpp @@ -228,4 +228,4 @@ cleanup: } } // namespace MonoRegUtils -#endif WINDOWS_ENABLED +#endif // WINDOWS_ENABLED diff --git a/modules/mono/utils/thread_local.h b/modules/mono/utils/thread_local.h index 84dae1d86b6d..d7d98c47e244 100644 --- a/modules/mono/utils/thread_local.h +++ b/modules/mono/utils/thread_local.h @@ -108,17 +108,23 @@ class ThreadLocal { return data; } -public: - ThreadLocal() : - ThreadLocal(T()) {} - - ThreadLocal(const T &p_init_val) : - init_val(p_init_val) { + void _initialize(const T &p_init_val) { + init_val = p_init_val; storage.alloc(&destr_callback); } - ThreadLocal(const ThreadLocal &other) : - ThreadLocal(*other._tls_get_value()) {} +public: + ThreadLocal() { + _initialize(T()); + } + + ThreadLocal(const T &p_init_val) { + _initialize(p_init_val); + } + + ThreadLocal(const ThreadLocal &other) { + _initialize(*other._tls_get_value()); + } ~ThreadLocal() { storage.free();