From 6ee035843e202a8f15234ba558ff4d487e0b97f7 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Sat, 12 Sep 2026 10:32:49 +0200 Subject: [PATCH] Add a sanitizer target macro --- Bigfoot/Libs/Utils/Include/Utils/TargetMacros.h | 16 ++++++++++++++++ Bigfoot/Tests/Utils/TargetMacros.cpp | 9 +++++++++ 2 files changed, 25 insertions(+) diff --git a/Bigfoot/Libs/Utils/Include/Utils/TargetMacros.h b/Bigfoot/Libs/Utils/Include/Utils/TargetMacros.h index 95b4073..114610d 100644 --- a/Bigfoot/Libs/Utils/Include/Utils/TargetMacros.h +++ b/Bigfoot/Libs/Utils/Include/Utils/TargetMacros.h @@ -44,4 +44,20 @@ #define BIGFOOT_GAME_ONLY(...) __VA_ARGS__ #define BIGFOOT_GAME_OR_TOOLMODE(p_game, p_toolmode) p_game #endif + +#if defined(__has_feature) +#if __has_feature(address_sanitizer) +#include +#define BIGFOOT_LSAN 1 +#endif +#endif +#ifndef BIGFOOT_LSAN +#define BIGFOOT_LSAN 0 +#endif + +#if BIGFOOT_LSAN +#define BIGFOOT_LSAN_ONLY(...) __VA_ARGS__ +#else +#define BIGFOOT_LSAN_ONLY(...) +#endif #endif diff --git a/Bigfoot/Tests/Utils/TargetMacros.cpp b/Bigfoot/Tests/Utils/TargetMacros.cpp index 31975ed..30119f1 100644 --- a/Bigfoot/Tests/Utils/TargetMacros.cpp +++ b/Bigfoot/Tests/Utils/TargetMacros.cpp @@ -32,4 +32,13 @@ TEST_F(TargetMacrosFixture, GameOrToolmode) BIGFOOT_TOOLMODE_ONLY(EXPECT_EQ(value, 2);) } +/****************************************************************************************/ + +TEST_F(TargetMacrosFixture, Lsan) +{ + bool called = false; + BIGFOOT_LSAN_ONLY(called = true;) + EXPECT_EQ(called, static_cast(BIGFOOT_LSAN)); +} + } // namespace Bigfoot