diff options
Diffstat (limited to 'source/compiler-core/slang-llvm-compiler.cpp')
| -rw-r--r-- | source/compiler-core/slang-llvm-compiler.cpp | 49 |
1 files changed, 1 insertions, 48 deletions
diff --git a/source/compiler-core/slang-llvm-compiler.cpp b/source/compiler-core/slang-llvm-compiler.cpp index b34c05d42..88446f605 100644 --- a/source/compiler-core/slang-llvm-compiler.cpp +++ b/source/compiler-core/slang-llvm-compiler.cpp @@ -6,42 +6,6 @@ namespace Slang { -class AliasDepreciatedDownstreamCompiler : public DownstreamCompilerBase -{ -public: - - virtual SLANG_NO_THROW SlangResult SLANG_MCALL compile(const CompileOptions& options, IArtifact** outArtifact) SLANG_OVERRIDE; - virtual SLANG_NO_THROW bool SLANG_MCALL canConvert(const ArtifactDesc& from, const ArtifactDesc& to) SLANG_OVERRIDE { return m_inner->canConvert(from, to); } - virtual SLANG_NO_THROW SlangResult SLANG_MCALL convert(IArtifact* from, const ArtifactDesc& to, IArtifact** outArtifact) SLANG_OVERRIDE { return m_inner->convert(from, to, outArtifact); } - virtual SLANG_NO_THROW SlangResult SLANG_MCALL getVersionString(slang::IBlob** outVersionString) { return m_inner->getVersionString(outVersionString); } - virtual SLANG_NO_THROW bool SLANG_MCALL isFileBased() { return m_inner->isFileBased(); } - - template <typename T> - void initCompileOptionsDepreciated() - { - m_compileOptionsOffset = T::kStart; - } - - AliasDepreciatedDownstreamCompiler(IDownstreamCompiler* inner) : - m_inner(inner) - { - m_desc = inner->getDesc(); - } - - ComPtr<IDownstreamCompiler> m_inner; - ptrdiff_t m_compileOptionsOffset = 0; -}; - -SlangResult AliasDepreciatedDownstreamCompiler::compile(const CompileOptions& options, IArtifact** outArtifact) -{ - if (m_compileOptionsOffset == 0) - { - return m_inner->compile(options, outArtifact); - } - const uint8_t* ptr = ((const uint8_t*)&options) + m_compileOptionsOffset; - return m_inner->compile(*(const CompileOptions*)ptr, outArtifact); -} - /* static */SlangResult LLVMDownstreamCompilerUtil::locateCompilers(const String& path, ISlangSharedLibraryLoader* loader, DownstreamCompilerSet* set) { ComPtr<ISlangSharedLibrary> library; @@ -58,18 +22,7 @@ SlangResult AliasDepreciatedDownstreamCompiler::compile(const CompileOptions& op ComPtr<IDownstreamCompiler> downstreamCompiler; - if (auto fnV2 = (CreateDownstreamCompilerFunc)library->findFuncByName("createLLVMDownstreamCompiler_V2")) - { - ComPtr<IDownstreamCompiler> innerDownstreamCompiler; - - SLANG_RETURN_ON_FAIL(fnV2(IDownstreamCompiler::getTypeGuid(), innerDownstreamCompiler.writeRef())); - - // We then need to wrap - AliasDepreciatedDownstreamCompiler* fix = new AliasDepreciatedDownstreamCompiler(innerDownstreamCompiler); - downstreamCompiler = fix; - fix->initCompileOptionsDepreciated<DownstreamCompileOptions_AliasDepreciated1>(); - } - else if (auto fnV3 = (CreateDownstreamCompilerFunc)library->findFuncByName("createLLVMDownstreamCompiler_V3")) + if (auto fnV3 = (CreateDownstreamCompilerFunc)library->findFuncByName("createLLVMDownstreamCompiler_V3")) { SLANG_RETURN_ON_FAIL(fnV3(IDownstreamCompiler::getTypeGuid(), downstreamCompiler.writeRef())); } |
