diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2020-02-11 14:14:10 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-11 14:14:10 -0500 |
| commit | 30d0932add53a50a80f07ce28576bd779b82b4c1 (patch) | |
| tree | 14fa38a7f68f7f6231bc3a581e02809cc67a0673 /tools | |
| parent | a0174d819c731e08c7a5a5d3c6e6f425d65e7187 (diff) | |
Fix ref counting for sesion - simple test had a path to not releasing compile request. (#1217)
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/slang-test/slangc-tool.cpp | 23 |
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; |
