From 668e7b4251e5fd1255fb7b265178c581061bfe10 Mon Sep 17 00:00:00 2001 From: yum Date: Fri, 17 Oct 2025 18:32:05 -0700 Subject: Improve unhandled instruction error message It now includes the opcode in human-readable form. --- source/slang/slang-emit-c-like.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'source/slang') diff --git a/source/slang/slang-emit-c-like.cpp b/source/slang/slang-emit-c-like.cpp index 11ea2e989..ce8834925 100644 --- a/source/slang/slang-emit-c-like.cpp +++ b/source/slang/slang-emit-c-like.cpp @@ -2325,7 +2325,15 @@ void CLikeSourceEmitter::emitInstStmt(IRInst* inst) void CLikeSourceEmitter::diagnoseUnhandledInst(IRInst* inst) { - getSink()->diagnose(inst, Diagnostics::unimplemented, "unexpected IR opcode during code emit"); + std::string message = "unexpected IR opcode during code emit"; + + if (inst) { + const IRDumpOptions dumpOptions{IRDumpOptions::Mode::Detailed, + IRDumpOptions::Flag::DumpDebugIds}; + message += ": " + dumpIRToString(inst, dumpOptions); + } + + getSink()->diagnose(inst, Diagnostics::unimplemented, message); } bool CLikeSourceEmitter::hasExplicitConstantBufferOffset(IRInst* cbufferType) -- cgit v1.2.3