make --gc:arc --exceptions:quirky work again [backport:1.4] (#16583)

* make --gc:arc --exceptions:quirky work again [backport:1.4]

* fixes #16404 [backport:1.4]
This commit is contained in:
Andreas Rumpf 2021-01-04 19:44:50 +01:00 • committed by GitHub
commit 6317e4004d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 49 additions and 17 deletions

View file

@ -44,3 +44,13 @@ proc setControlCHook(hook: proc () {.noconv.}) = discard
proc closureIterSetupExc(e: ref Exception) {.compilerproc, inline.} =
sysFatal(ReraiseDefect, "exception handling is not available")
when gotoBasedExceptions:
var nimInErrorMode {.threadvar.}: bool
proc nimErrorFlag(): ptr bool {.compilerRtl, inl.} =
result = addr(nimInErrorMode)
proc nimTestErrorFlag() {.compilerRtl.} =
if nimInErrorMode:
sysFatal(ReraiseDefect, "exception handling is not available")