From 91ca0f2f8962563a52380ae8007cf322ad70d4b1 Mon Sep 17 00:00:00 2001 From: Marcos Slomp Date: Fri, 10 May 2024 10:31:40 -0700 Subject: [PATCH] improved panic macro (supports print args) --- public/tracy/TracyMetal.hmm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/public/tracy/TracyMetal.hmm b/public/tracy/TracyMetal.hmm index 4af7ad8d..ebd8a019 100644 --- a/public/tracy/TracyMetal.hmm +++ b/public/tracy/TracyMetal.hmm @@ -43,7 +43,16 @@ using TracyMetalCtx = void*; // ok to import if in obj-c code #import -#define TracyMetalPanic(msg, ...) do { assert(false && "TracyMetal: " msg); TracyMessageLC("TracyMetal: " msg, tracy::Color::Red4); fprintf(stderr, "TracyMetal: %s\n", msg); __VA_ARGS__; } while(false); +#define VA_ARGS(...) , ##__VA_ARGS__ + +#define TracyMetalPanic(ret, msg, ...) do { \ + char buffer [1024]; \ + snprintf(buffer, sizeof(buffer), "TracyMetal: " msg VA_ARGS(__VA_ARGS__)); \ + TracyMessageC(buffer, strlen(buffer), tracy::Color::OrangeRed); \ + fprintf(stderr, "%s\n", buffer); \ + assert(false && "TracyMetal: " msg); \ + ret; \ + } while(false); namespace tracy