diff options
| author | Tim Foley <tim.foley.is@gmail.com> | 2017-07-19 18:52:38 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-19 18:52:38 -0700 |
| commit | f07c01ceb012b9b325a8ecebd12cdd5797d8d5b3 (patch) | |
| tree | 0b93a109d51e6565560ad785519a863386490e2a /source/slang/slang.cpp | |
| parent | a2b8b4c20632d79721052abd232fe2d1bdf2700d (diff) | |
| parent | 3f48e1c0d84bf4909954154ad147559656e87516 (diff) | |
Merge pull request #128 from tfoleyNV/improve-failure-modes
Try to improve handling of failures during compilation
Diffstat (limited to 'source/slang/slang.cpp')
| -rw-r--r-- | source/slang/slang.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index 89db62ec8..caa50ad0e 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -571,7 +571,7 @@ void Session::addBuiltinSource( OutputDebugStringA(compileRequest->mDiagnosticOutput.Buffer()); #endif - assert(!"error in stdlib"); + SLANG_UNEXPECTED("error in Slang standard library"); } // Extract the AST for the code we just parsed @@ -831,8 +831,16 @@ SLANG_API int spCompile( { auto req = REQ(request); - int anyErrors = req->executeActions(); - return anyErrors; + try + { + int anyErrors = req->executeActions(); + return anyErrors; + } + catch (...) + { + req->mSink.diagnose(Slang::CodePosition(), Slang::Diagnostics::compilationAborted); + return 1; + } } SLANG_API int |
