diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/core/slang-std-writers.cpp | 4 | ||||
| -rw-r--r-- | source/slangc/main.cpp | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/source/core/slang-std-writers.cpp b/source/core/slang-std-writers.cpp index bf3ae72fd..a23d878fb 100644 --- a/source/core/slang-std-writers.cpp +++ b/source/core/slang-std-writers.cpp @@ -10,8 +10,8 @@ namespace Slang { RefPtr<StdWriters> stdWriters(new StdWriters); - RefPtr<FileWriter> stdError(new FileWriter(stderr, WriterFlag::AutoFlush)); - RefPtr<FileWriter> stdOut(new FileWriter(stdout, WriterFlag::AutoFlush)); + RefPtr<FileWriter> stdError(new FileWriter(stderr, WriterFlag::AutoFlush | WriterFlag::IsUnowned)); + RefPtr<FileWriter> stdOut(new FileWriter(stdout, WriterFlag::AutoFlush | WriterFlag::IsUnowned)); stdWriters->setWriter(SLANG_WRITER_CHANNEL_STD_ERROR, stdError); stdWriters->setWriter(SLANG_WRITER_CHANNEL_STD_OUTPUT, stdOut); diff --git a/source/slangc/main.cpp b/source/slangc/main.cpp index 3a01c07e7..b86472617 100644 --- a/source/slangc/main.cpp +++ b/source/slangc/main.cpp @@ -139,6 +139,15 @@ int wmain(int argc, wchar_t** argv) } #ifdef _MSC_VER + // "When _DEBUG isn't defined, calls to _CrtSetReportMode are removed + // during preprocessing." + _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); + _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR); + _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); + _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR); + _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); + _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR); + _CrtDumpMemoryLeaks(); #endif |
