From 30d0932add53a50a80f07ce28576bd779b82b4c1 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Tue, 11 Feb 2020 14:14:10 -0500 Subject: Fix ref counting for sesion - simple test had a path to not releasing compile request. (#1217) --- tools/slang-test/slangc-tool.cpp | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'tools') 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; -- cgit v1.2.3