diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2023-03-31 04:16:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-31 04:16:09 +0200 |
commit | d5719c47dce91152173263b08f3b8b12ee04b6ba (patch) | |
tree | 825faa1971842ec701602406f707413a07794093 /lib | |
parent | 2e4ba4ad93c6d9021b6de975cf7ac78e67acba26 (diff) | |
download | Nim-d5719c47dce91152173263b08f3b8b12ee04b6ba.tar.gz |
make --exceptions:quirky work with C++ (#21581)
* make --exceptions:quirky work with C++ * make tests green again
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system/excpt.nim | 4 | ||||
-rw-r--r-- | lib/system/fatal.nim | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/system/excpt.nim b/lib/system/excpt.nim index 86cfff9cd..6b40ca391 100644 --- a/lib/system/excpt.nim +++ b/lib/system/excpt.nim @@ -448,7 +448,7 @@ proc raiseExceptionAux(e: sink(ref Exception)) {.nodestroy.} = else: pushCurrentException(e) {.emit: "throw `e`;".} - elif defined(nimQuirky) or gotoBasedExceptions: + elif quirkyExceptions or gotoBasedExceptions: pushCurrentException(e) when gotoBasedExceptions: inc nimInErrorMode @@ -560,7 +560,7 @@ proc nimFrame(s: PFrame) {.compilerRtl, inl, raises: [].} = when defined(cpp) and appType != "lib" and not gotoBasedExceptions and not defined(js) and not defined(nimscript) and hostOS != "standalone" and hostOS != "any" and not defined(noCppExceptions) and - not defined(nimQuirky): + not quirkyExceptions: type StdException {.importcpp: "std::exception", header: "<exception>".} = object diff --git a/lib/system/fatal.nim b/lib/system/fatal.nim index 6073ee779..f1f94d078 100644 --- a/lib/system/fatal.nim +++ b/lib/system/fatal.nim @@ -9,7 +9,9 @@ {.push profiler: off.} -const gotoBasedExceptions = compileOption("exceptions", "goto") +const + gotoBasedExceptions = compileOption("exceptions", "goto") + quirkyExceptions = compileOption("exceptions", "quirky") when hostOS == "standalone": include "$projectpath/panicoverride" @@ -21,7 +23,7 @@ when hostOS == "standalone": rawoutput(message) panic(arg) -elif (defined(nimQuirky) or defined(nimPanics)) and not defined(nimscript): +elif (quirkyExceptions or defined(nimPanics)) and not defined(nimscript): import ansi_c func name(t: typedesc): string {.magic: "TypeTrait".} |