diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2023-03-10 12:24:51 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-10 12:24:51 -0500 |
| commit | e39893e8eb1a9411fca4e5f885456a27a770d3a2 (patch) | |
| tree | bcd2f6aa99b5e6425c17d31f5e4a89b98c854f34 /source/compiler-core/slang-downstream-compiler.cpp | |
| parent | e06cfb37eb099e45302dd015b0396bf26c913778 (diff) | |
Add struct version to DownstreamCompiler::CompileOptions interface (#2692)
* #include an absolute path didn't work - because paths were taken to always be relative.
* Add versioning to CompileOptions for DownstreamCompiler so we can add new options without breaking binary interface.
* Use builtin offset of directly.
Diffstat (limited to 'source/compiler-core/slang-downstream-compiler.cpp')
| -rw-r--r-- | source/compiler-core/slang-downstream-compiler.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/compiler-core/slang-downstream-compiler.cpp b/source/compiler-core/slang-downstream-compiler.cpp index 104f1e631..b312f9cb8 100644 --- a/source/compiler-core/slang-downstream-compiler.cpp +++ b/source/compiler-core/slang-downstream-compiler.cpp @@ -68,11 +68,17 @@ void* DownstreamCompilerBase::getObject(const Guid& guid) SlangResult CommandLineDownstreamCompiler::compile(const CompileOptions& inOptions, IArtifact** outArtifact) { + if (!isVersionCompatible(inOptions)) + { + // Not possible to compile with this version of the interface. + return SLANG_E_NOT_IMPLEMENTED; + } + + CompileOptions options = getCompatibleVersion(&inOptions); + // Copy the command line options CommandLine cmdLine(m_cmdLine); - CompileOptions options(inOptions); - // Work out the ArtifactDesc const auto targetDesc = ArtifactDescUtil::makeDescForCompileTarget(options.targetType); |
