Fix crash in terminate handler (#12572) [backport]

* fix undefined behavior in terminate handler

* fix failing unit test

* Revert "fix failing unit test"

This reverts commit 0e5e385fbf.

* Revert "fix undefined behavior in terminate handler"

This reverts commit 2b582871f1.

* do not throw inside terminate handler with msvc < 1923
This commit is contained in:
Volodymyr Lashko
2019-11-08 00:00:34 +02:00
committed by cooldome
parent 135e945ff0
commit 4e841ab156

View File

@@ -484,7 +484,9 @@ when defined(cpp) and appType != "lib" and
var msg = "Unknown error in unexpected exception handler"
try:
{.emit"#if !defined(_MSC_VER) || (_MSC_VER >= 1923)".}
raise
{.emit"#endif".}
except Exception:
msg = currException.getStackTrace() & "Error: unhandled exception: " &
currException.msg & " [" & $currException.name & "]"
@@ -493,6 +495,10 @@ when defined(cpp) and appType != "lib" and
except:
msg = "Error: unhandled unknown cpp exception"
{.emit"#if defined(_MSC_VER) && (_MSC_VER < 1923)".}
msg = "Error: unhandled unknown cpp exception"
{.emit"#endif".}
when defined(genode):
# stderr not available by default, use the LOG session
echo msg