From 5c2c2cfc9918bb43225159e67a851e196e17759a Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Fri, 26 Aug 2022 20:32:53 -0400 Subject: DownstreamCompileOptions using POD types (#2381) * #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++. --- tools/slang-test/slang-test-main.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'tools/slang-test/slang-test-main.cpp') diff --git a/tools/slang-test/slang-test-main.cpp b/tools/slang-test/slang-test-main.cpp index af7ca1f83..cd783bb05 100644 --- a/tools/slang-test/slang-test-main.cpp +++ b/tools/slang-test/slang-test-main.cpp @@ -2233,10 +2233,12 @@ static TestResult runCPPCompilerSharedLibrary(TestContext* context, TestInput& i options.targetType = SLANG_SHADER_SHARED_LIBRARY; // Compile this source - options.sourceFiles.add(filePath); - options.modulePath = modulePath; + TerminatedCharSlice sourceFiles[] = { SliceCaster::asTerminatedCharSlice(filePath) }; + TerminatedCharSlice includePaths[] = { TerminatedCharSlice(".") }; - options.includePaths.add("."); + options.sourceFiles = makeSlice(sourceFiles, 1); + options.includePaths = makeSlice(includePaths, 1); + options.modulePath = SliceCaster::asTerminatedCharSlice(modulePath); ComPtr artifact; if (SLANG_FAILED(compiler->compile(options, artifact.writeRef()))) @@ -2351,9 +2353,11 @@ static TestResult runCPPCompilerExecute(TestContext* context, TestInput& input) options.sourceLanguage = (ext == "c") ? SLANG_SOURCE_LANGUAGE_C : SLANG_SOURCE_LANGUAGE_CPP; + TerminatedCharSlice filePaths[] = { SliceCaster::asTerminatedCharSlice(filePath) }; + // Compile this source - options.sourceFiles.add(filePath); - options.modulePath = modulePath; + options.sourceFiles = makeSlice(filePaths, 1); + options.modulePath = SliceCaster::asTerminatedCharSlice(modulePath); ComPtr artifact; if (SLANG_FAILED(compiler->compile(options, artifact.writeRef()))) -- cgit v1.2.3