summaryrefslogtreecommitdiffstats
path: root/source/core
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2022-04-27 17:53:21 -0400
committerGitHub <noreply@github.com>2022-04-27 17:53:21 -0400
commit634f5414f332f904c7db968810b3d6f0ca253959 (patch)
treec5747ca337e21ce74cc5997722b19a94604fe4aa /source/core
parentec530b300524635dfe0fd86949b0a4fc5c19a984 (diff)
Make artifact an interface (#2195)
* #include an absolute path didn't work - because paths were taken to always be relative. * Compile to a dxil library. * Added CompileProduct. * Support handling of ModuleLibrary. * CacheBehavior -> Cache * Use CompileProduct for -r references. * CompileProduct -> Artifact. * Determining an artifact type on binding. * Determine binary linkability. * Added Artifact::exists. * Added ArtifactKeep. * Small fixes. * Small improvements to Artifact. * Add zip extension. * Fix some comments. * Fix multiple adding of PublicDecoration. Make public output export for DXIL/lib. Add checking for simpleDecorations such that only added once. * Use 'whole program' to identify library build. * Move slang-artifact into compiler-core. * Split out Keep free functions. * Artifact::Keep -> ArtifactKeep. * Handle libraries as artifacts. * Add -target dxil so test infrastructure knows it needs DXC. * Linking working in DXC. * Improve handling around emit for 'export'. * Add comment around Artifact name. * Render test working with linking. * Improvements around Artifact handling. * Add ArtifactPayloadInfo. * Small tidy up around artifact. * Split out code to get info about Artifacts into artifact-info.cpp/.h * IArtifact interface and IArtifactInstance interface. * Fix small issues. * Fix compilation warning issue. * Fix missing SLANG_OVERRIDE. * Small fixes to make compilation work on Visual Studio 2022. * Small improvements to Artifact interface/naming. * Added Desc with each element in IArchive to allow more flexibility in usage. * Fix clang warning issue. * Add ArtifactPayload::Diagnostics * More discussion around IArtifact usage. * Re-add slang-artifact.h which was removed during merge. * Fix typo identified in review.
Diffstat (limited to 'source/core')
-rw-r--r--source/core/slang-archive-file-system.cpp1
-rw-r--r--source/core/slang-com-object.h13
-rw-r--r--source/core/slang-deflate-compression-system.cpp2
-rw-r--r--source/core/slang-lz4-compression-system.cpp1
-rw-r--r--source/core/slang-smart-pointer.h2
5 files changed, 11 insertions, 8 deletions
diff --git a/source/core/slang-archive-file-system.cpp b/source/core/slang-archive-file-system.cpp
index 8c4d0ef2d..0d998c849 100644
--- a/source/core/slang-archive-file-system.cpp
+++ b/source/core/slang-archive-file-system.cpp
@@ -96,6 +96,7 @@ void ImplicitDirectoryCollector::addRemainingPath(SlangPathType pathType, const
}
const Index countIndex = m_map.findOrAdd(pathRemainder, pathType);
+ SLANG_UNUSED(countIndex);
// Make sure they are the same type
SLANG_ASSERT(SlangPathType(m_map.getValueAt(countIndex)) == pathType);
}
diff --git a/source/core/slang-com-object.h b/source/core/slang-com-object.h
index ad4578585..50dac5ba2 100644
--- a/source/core/slang-com-object.h
+++ b/source/core/slang-com-object.h
@@ -15,12 +15,13 @@ public:
ComObject()
: comRefCount(0)
{}
- ComObject(const ComObject&) : comRefCount(0) {}
- ComObject& operator=(const ComObject&)
- {
- comRefCount = 0;
- return *this;
- };
+ ComObject(const ComObject& rhs) :
+ RefObject(rhs),
+ comRefCount(0)
+ {}
+
+ ComObject& operator=(const ComObject&) { return *this; }
+
virtual void comFree() {}
uint32_t addRefImpl()
diff --git a/source/core/slang-deflate-compression-system.cpp b/source/core/slang-deflate-compression-system.cpp
index dab6654f7..6c75de9e4 100644
--- a/source/core/slang-deflate-compression-system.cpp
+++ b/source/core/slang-deflate-compression-system.cpp
@@ -50,7 +50,7 @@ SlangResult DeflateCompressionSystemImpl::compress(const CompressionStyle* style
size_t compressedSizeInBytes;
const int flags = 0;
- void* compressed = tdefl_compress_mem_to_heap(src, srcSizeInBytes, &compressedSizeInBytes, 0);
+ void* compressed = tdefl_compress_mem_to_heap(src, srcSizeInBytes, &compressedSizeInBytes, flags);
if (!compressed)
{
diff --git a/source/core/slang-lz4-compression-system.cpp b/source/core/slang-lz4-compression-system.cpp
index fd360ce2e..4b8661534 100644
--- a/source/core/slang-lz4-compression-system.cpp
+++ b/source/core/slang-lz4-compression-system.cpp
@@ -56,6 +56,7 @@ SlangResult LZ4CompressionSystemImpl::compress(const CompressionStyle* style, co
SlangResult LZ4CompressionSystemImpl::decompress(const void* compressed, size_t compressedSizeInBytes, size_t decompressedSizeInBytes, void* outDecompressed)
{
const int decompressedSize = LZ4_decompress_safe((const char*)compressed, (char*)outDecompressed, int(compressedSizeInBytes), int(decompressedSizeInBytes));
+ SLANG_UNUSED(decompressedSize);
SLANG_ASSERT(size_t(decompressedSize) == decompressedSizeInBytes);
return SLANG_OK;
}
diff --git a/source/core/slang-smart-pointer.h b/source/core/slang-smart-pointer.h
index a6aa35906..c473cca3c 100644
--- a/source/core/slang-smart-pointer.h
+++ b/source/core/slang-smart-pointer.h
@@ -24,7 +24,7 @@ namespace Slang
: referenceCount(0)
{}
- RefObject& operator=(const RefObject& rhs) = default;
+ RefObject& operator=(const RefObject&) { return *this; }
virtual ~RefObject()
{}