summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2020-02-11 14:14:10 -0500
committerGitHub <noreply@github.com>2020-02-11 14:14:10 -0500
commit30d0932add53a50a80f07ce28576bd779b82b4c1 (patch)
tree14fa38a7f68f7f6231bc3a581e02809cc67a0673
parenta0174d819c731e08c7a5a5d3c6e6f425d65e7187 (diff)
Fix ref counting for sesion - simple test had a path to not releasing compile request. (#1217)
-rw-r--r--tools/slang-test/slangc-tool.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/tools/slang-test/slangc-tool.cpp b/tools/slang-test/slangc-tool.cpp
index 2a30b10e9..6c9645b54 100644
--- a/tools/slang-test/slangc-tool.cpp
+++ b/tools/slang-test/slangc-tool.cpp
@@ -14,15 +14,8 @@ static void _diagnosticCallback(char const* message, void* /*userData*/)
stdError.flush();
}
-SlangResult SlangCTool::innerMain(StdWriters* stdWriters, SlangSession* session, int argc, const char*const* argv)
+static SlangResult _compile(SlangCompileRequest* compileRequest, int argc, const char*const* argv)
{
- SlangCompileRequest* compileRequest = spCreateCompileRequest(session);
- spSetDiagnosticCallback(compileRequest, &_diagnosticCallback, nullptr);
-
- spSetCommandLineCompilerMode(compileRequest);
- // Do any app specific configuration
- stdWriters->setRequestWriters(compileRequest);
-
{
const SlangResult res = spProcessCommandLineArguments(compileRequest, &argv[1], argc - 1);
if (SLANG_FAILED(res))
@@ -52,6 +45,20 @@ SlangResult SlangCTool::innerMain(StdWriters* stdWriters, SlangSession* session,
}
#endif
+ return res;
+}
+
+SlangResult SlangCTool::innerMain(StdWriters* stdWriters, SlangSession* session, int argc, const char*const* argv)
+{
+ SlangCompileRequest* compileRequest = spCreateCompileRequest(session);
+ spSetDiagnosticCallback(compileRequest, &_diagnosticCallback, nullptr);
+
+ spSetCommandLineCompilerMode(compileRequest);
+ // Do any app specific configuration
+ stdWriters->setRequestWriters(compileRequest);
+
+ SlangResult res = _compile(compileRequest, argc, argv);
+
// Now that we are done, clean up after ourselves
spDestroyCompileRequest(compileRequest);
return res;