From 00746bf09047cdf01c19dac513a532bcf3ed3ea3 Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Wed, 9 Jul 2025 14:41:19 +0800 Subject: Stable names and backwards compat for serialized IR modules (#7644) * stable names * tests, options and ci for stable names * Add back compat design document * fix warnings * formatting * comment * neaten * regenerate command line reference * consolidate ci scripts * faster ci * remove libreadline * Move new function to end of interface --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --- include/slang.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'include/slang.h') diff --git a/include/slang.h b/include/slang.h index 83009d2e1..9d7fe2d49 100644 --- a/include/slang.h +++ b/include/slang.h @@ -1034,6 +1034,9 @@ typedef uint32_t SlangSizeT; SkipDownstreamLinking, // bool, experimental DumpModule, + GetModuleInfo, // Print serialized module version and name + GetSupportedModuleVersions, // Print the min and max module versions this compiler supports + EmitSeparateDebug, // bool // Floating point denormal handling modes @@ -4167,6 +4170,16 @@ struct ISession : public ISlangUnknown slang::TypeReflection* interfaceType, uint32_t* outRTTIDataBuffer, uint32_t bufferSizeInBytes) = 0; + + /** Read module info (name and version) from a module blob + * + * The returned pointers are valid for as long as the session. + */ + virtual SLANG_NO_THROW SlangResult SLANG_MCALL loadModuleInfoFromIRBlob( + slang::IBlob* source, + SlangInt& outModuleVersion, + const char*& outModuleCompilerVersion, + const char*& outModuleName) = 0; }; #define SLANG_UUID_ISession ISession::getTypeGuid() -- cgit v1.2.3