From d4136c93448bfdd8561af331ea6eebcec14719e3 Mon Sep 17 00:00:00 2001 From: Simon Kallweit <64953474+skallweitNV@users.noreply.github.com> Date: Fri, 6 Dec 2024 00:46:56 +0100 Subject: Add API for getting last internal error message (#5772) * Add API for getting last internal error message * format code (#5773) Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> * make message thread_local --------- Co-authored-by: slangbot Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --- source/core/slang-signal.cpp | 9 +++++++++ source/core/slang-signal.h | 2 ++ 2 files changed, 11 insertions(+) (limited to 'source/core') diff --git a/source/core/slang-signal.cpp b/source/core/slang-signal.cpp index 4ae75eb0e..8a7690351 100644 --- a/source/core/slang-signal.cpp +++ b/source/core/slang-signal.cpp @@ -6,6 +6,8 @@ namespace Slang { +thread_local String g_lastSignalMessage; + static const char* _getSignalTypeAsText(SignalType type) { switch (type) @@ -54,6 +56,8 @@ String _getMessage(SignalType type, char const* message) printf("%s\n", _getMessage(type, message).getBuffer()); } + g_lastSignalMessage = _getMessage(type, message); + #if SLANG_HAS_EXCEPTIONS switch (type) { @@ -75,4 +79,9 @@ String _getMessage(SignalType type, char const* message) #endif } +const char* getLastSignalMessage() +{ + return g_lastSignalMessage.getBuffer(); +} + } // namespace Slang diff --git a/source/core/slang-signal.h b/source/core/slang-signal.h index 356ae42f6..b71b27581 100644 --- a/source/core/slang-signal.h +++ b/source/core/slang-signal.h @@ -35,6 +35,8 @@ enum class SignalType ::Slang::handleSignal(::Slang::SignalType::AbortCompilation, msg) +const char* getLastSignalMessage(); + } // namespace Slang #endif -- cgit v1.2.3