From 98caaebb723c47f8a8f6e50336eb4975cf7ee125 Mon Sep 17 00:00:00 2001 From: Lukas Tenbrink Date: Sat, 15 Nov 2025 20:03:14 +0100 Subject: [PATCH] Fix `GodotProfileZone` with tracy backend failing with shadowed variable names. --- core/profiling/profiling.h | 2 +- core/typedefs.h | 5 +++++ modules/mono/utils/macros.h | 5 +---- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/profiling/profiling.h b/core/profiling/profiling.h index 35bdbf7142e..e73c709737e 100644 --- a/core/profiling/profiling.h +++ b/core/profiling/profiling.h @@ -51,7 +51,7 @@ // Define tracing macros. #define GodotProfileFrameMark FrameMark -#define GodotProfileZone(m_zone_name) ZoneScopedN(m_zone_name) +#define GodotProfileZone(m_zone_name) ZoneNamedN(GD_UNIQUE_NAME(__godot_tracy_szone_), m_zone_name, true) #define GodotProfileZoneGroupedFirst(m_group_name, m_zone_name) ZoneNamedN(__godot_tracy_zone_##m_group_name, m_zone_name, true) #define GodotProfileZoneGroupedEndEarly(m_group_name, m_zone_name) __godot_tracy_zone_##m_group_name.~ScopedZone(); #ifndef TRACY_CALLSTACK diff --git a/core/typedefs.h b/core/typedefs.h index 73ae13d7628..bb9ec9a8ca6 100644 --- a/core/typedefs.h +++ b/core/typedefs.h @@ -465,3 +465,8 @@ constexpr bool is_fully_defined_v = is_fully_defined::value; #else #define STATIC_ASSERT_INCOMPLETE_TYPE(m_keyword, m_type) #endif + +#define _GD_VARNAME_CONCAT_B_(m_ignore, m_name) m_name +#define _GD_VARNAME_CONCAT_A_(m_a, m_b, m_c) _GD_VARNAME_CONCAT_B_(hello there, m_a##m_b##m_c) +#define _GD_VARNAME_CONCAT_(m_a, m_b, m_c) _GD_VARNAME_CONCAT_A_(m_a, m_b, m_c) +#define GD_UNIQUE_NAME(m_name) _GD_VARNAME_CONCAT_(m_name, _, __COUNTER__) diff --git a/modules/mono/utils/macros.h b/modules/mono/utils/macros.h index aa5003acbe7..3208b85eec0 100644 --- a/modules/mono/utils/macros.h +++ b/modules/mono/utils/macros.h @@ -30,10 +30,7 @@ #pragma once -#define _GD_VARNAME_CONCAT_B_(m_ignore, m_name) m_name -#define _GD_VARNAME_CONCAT_A_(m_a, m_b, m_c) _GD_VARNAME_CONCAT_B_(hello there, m_a##m_b##m_c) -#define _GD_VARNAME_CONCAT_(m_a, m_b, m_c) _GD_VARNAME_CONCAT_A_(m_a, m_b, m_c) -#define GD_UNIQUE_NAME(m_name) _GD_VARNAME_CONCAT_(m_name, _, __COUNTER__) +#include "core/typedefs.h" // unreachable