From 5c6d7bfb98668e5d478cac2a48c838687a1858df Mon Sep 17 00:00:00 2001 From: lawnjelly Date: Sun, 26 Jan 2025 17:48:15 +0000 Subject: [PATCH] Change `VariantUtility` to prevent undef `print_verbose` Changes the `VariantUtility` function from `print_verbose` to `_print_verbose`, eliminating the need for undefining the `print_verbose` macro, which caused compilation problems. --- core/variant/variant_utility.cpp | 14 +++++++------- core/variant/variant_utility.h | 3 +-- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/core/variant/variant_utility.cpp b/core/variant/variant_utility.cpp index ec9492ac5d1..a53b5660d5a 100644 --- a/core/variant/variant_utility.cpp +++ b/core/variant/variant_utility.cpp @@ -999,9 +999,7 @@ void VariantUtilityFunctions::print_rich(const Variant **p_args, int p_arg_count r_error.error = Callable::CallError::CALL_OK; } -#undef print_verbose - -void VariantUtilityFunctions::print_verbose(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) { +void VariantUtilityFunctions::_print_verbose(const Variant **p_args, int p_arg_count, Callable::CallError &r_error) { if (OS::get_singleton()->is_stdout_verbose()) { String s; for (int i = 0; i < p_arg_count; i++) { @@ -1581,16 +1579,16 @@ static _FORCE_INLINE_ Variant::Type get_ret_type_helper(void (*p_func)(P...)) { }; \ register_utility_function(#m_func, m_args) -#define FUNCBINDVARARGV(m_func, m_args, m_category) \ +#define FUNCBINDVARARGV_CNAME(m_func, m_func_cname, m_args, m_category) \ class Func_##m_func { \ public: \ static void call(Variant *r_ret, const Variant **p_args, int p_argcount, Callable::CallError &r_error) { \ r_error.error = Callable::CallError::CALL_OK; \ - VariantUtilityFunctions::m_func(p_args, p_argcount, r_error); \ + VariantUtilityFunctions::m_func_cname(p_args, p_argcount, r_error); \ } \ static void validated_call(Variant *r_ret, const Variant **p_args, int p_argcount) { \ Callable::CallError c; \ - VariantUtilityFunctions::m_func(p_args, p_argcount, c); \ + VariantUtilityFunctions::m_func_cname(p_args, p_argcount, c); \ } \ static void ptrcall(void *ret, const void **p_args, int p_argcount) { \ Vector args; \ @@ -1625,6 +1623,8 @@ static _FORCE_INLINE_ Variant::Type get_ret_type_helper(void (*p_func)(P...)) { }; \ register_utility_function(#m_func, m_args) +#define FUNCBINDVARARGV(m_func, m_args, m_category) FUNCBINDVARARGV_CNAME(m_func, m_func, m_args, m_category) + #define FUNCBIND(m_func, m_args, m_category) \ class Func_##m_func { \ public: \ @@ -1832,7 +1832,7 @@ void Variant::_register_variant_utility_functions() { FUNCBINDVARARGV(printt, sarray(), Variant::UTILITY_FUNC_TYPE_GENERAL); FUNCBINDVARARGV(prints, sarray(), Variant::UTILITY_FUNC_TYPE_GENERAL); FUNCBINDVARARGV(printraw, sarray(), Variant::UTILITY_FUNC_TYPE_GENERAL); - FUNCBINDVARARGV(print_verbose, sarray(), Variant::UTILITY_FUNC_TYPE_GENERAL); + FUNCBINDVARARGV_CNAME(print_verbose, _print_verbose, sarray(), Variant::UTILITY_FUNC_TYPE_GENERAL); FUNCBINDVARARGV(push_error, sarray(), Variant::UTILITY_FUNC_TYPE_GENERAL); FUNCBINDVARARGV(push_warning, sarray(), Variant::UTILITY_FUNC_TYPE_GENERAL); diff --git a/core/variant/variant_utility.h b/core/variant/variant_utility.h index 75cde4942b5..a653369621a 100644 --- a/core/variant/variant_utility.h +++ b/core/variant/variant_utility.h @@ -133,8 +133,7 @@ struct VariantUtilityFunctions { static String type_string(Variant::Type p_type); static void print(const Variant **p_args, int p_arg_count, Callable::CallError &r_error); static void print_rich(const Variant **p_args, int p_arg_count, Callable::CallError &r_error); -#undef print_verbose - static void print_verbose(const Variant **p_args, int p_arg_count, Callable::CallError &r_error); + static void _print_verbose(const Variant **p_args, int p_arg_count, Callable::CallError &r_error); static void printerr(const Variant **p_args, int p_arg_count, Callable::CallError &r_error); static void printt(const Variant **p_args, int p_arg_count, Callable::CallError &r_error); static void prints(const Variant **p_args, int p_arg_count, Callable::CallError &r_error);