diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2022-09-01 10:06:19 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-01 10:06:19 -0400 |
| commit | 3c0177134d126956336865623ea3d6861be59cfa (patch) | |
| tree | 920ba158afe75edde6f5254617dfa22ffeb98403 /tools | |
| parent | cd8715a7760189c54b36c0c250efbe1db5b8635c (diff) | |
Make FileSystem files and OS files distinct (#2383)
* #include an absolute path didn't work - because paths were taken to always be relative.
* Make DownstreamCompileOptions use POD types.
* CharSliceAllocator -> SliceAllocator
Added SliceConverter
CharSliceCaster -> SliceCaster
* First attempt at zero terminating around blobs.
* Fix clang warning.
* Add SlangTerminatedChars
Make Blob implementations support it.
Make most blobs 'terminated'.
* Fix bug setting up sourceFiles for CommandLineDownstreamCompiler.
* Traffic in TerminatedCharSlice for sourceFiles.
Use ArtifactDesc to generate temporary file names for source.
* Fix typo in testing for shared library/C++.
* Working with source being passed as artifacts to DownstreamCompiler.
* Use artifacts in SourceManager/SourceFile.
* Support infering extension from the original file extension.
* * Infer extension if can't determine from the artifact type
* Split IOSFile/IExtFile representations
* Move responsibility for creating OS file to the handler.
* Disable the check memory path.
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/slang-test/slang-test-main.cpp | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/tools/slang-test/slang-test-main.cpp b/tools/slang-test/slang-test-main.cpp index ef5d16b2c..e30b7dd8c 100644 --- a/tools/slang-test/slang-test-main.cpp +++ b/tools/slang-test/slang-test-main.cpp @@ -2239,7 +2239,26 @@ static TestResult runCPPCompilerSharedLibrary(TestContext* context, TestInput& i // Compile this source ComPtr<IArtifact> sourceArtifact; - helper->createFileArtifact(ArtifactDescUtil::makeDescForSourceLanguage(options.sourceLanguage), asCharSlice(filePath.getUnownedSlice()), sourceArtifact.writeRef()); + + // If set, we store the artifact in memory without a name. + bool checkMemory = false; + if (checkMemory) + { + helper->createArtifact(ArtifactDescUtil::makeDescForSourceLanguage(options.sourceLanguage), "", sourceArtifact.writeRef()); + + ComPtr<IOSFileArtifactRepresentation> fileRep; + // Let's just add a blob with the contents + helper->createOSFileArtifactRepresentation(IOSFileArtifactRepresentation::Kind::Reference, asCharSlice(filePath.getUnownedSlice()), nullptr, fileRep.writeRef()); + + ComPtr<ICastable> castable; + fileRep->createRepresentation(ISlangBlob::getTypeGuid(), castable.writeRef()); + + sourceArtifact->addRepresentation(castable); + } + else + { + helper->createOSFileArtifact(ArtifactDescUtil::makeDescForSourceLanguage(options.sourceLanguage), asCharSlice(filePath.getUnownedSlice()), sourceArtifact.writeRef()); + } TerminatedCharSlice includePaths[] = { TerminatedCharSlice(".") }; @@ -2365,7 +2384,7 @@ static TestResult runCPPCompilerExecute(TestContext* context, TestInput& input) auto helper = DefaultArtifactHelper::getSingleton(); ComPtr<IArtifact> sourceArtifact; - helper->createFileArtifact(ArtifactDescUtil::makeDescForSourceLanguage(options.sourceLanguage), asCharSlice(filePath.getUnownedSlice()), sourceArtifact.writeRef()); + helper->createOSFileArtifact(ArtifactDescUtil::makeDescForSourceLanguage(options.sourceLanguage), asCharSlice(filePath.getUnownedSlice()), sourceArtifact.writeRef()); // Compile this source options.sourceArtifacts = makeSlice(sourceArtifact.readRef(), 1); |
