diff options
Diffstat (limited to 'source/slang/options.cpp')
| -rw-r--r-- | source/slang/options.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/source/slang/options.cpp b/source/slang/options.cpp index a067ddf0c..d6310e8e1 100644 --- a/source/slang/options.cpp +++ b/source/slang/options.cpp @@ -859,14 +859,26 @@ struct OptionsParser SlangResult parseOptions( - SlangCompileRequest* compileRequest, + SlangCompileRequest* compileRequestIn, int argc, char const* const* argv) { + Slang::CompileRequest* compileRequest = (Slang::CompileRequest*) compileRequestIn; + OptionsParser parser; - parser.compileRequest = compileRequest; - parser.requestImpl = (Slang::CompileRequest*) compileRequest; - return parser.parse(argc, argv); + parser.compileRequest = compileRequestIn; + parser.requestImpl = compileRequest; + + Result res = parser.parse(argc, argv); + + DiagnosticSink* sink = &compileRequest->mSink; + if (sink->GetErrorCount() > 0) + { + // Put the errors in the diagnostic + compileRequest->mDiagnosticOutput = sink->outputBuffer.ProduceString(); + } + + return res; } |
