diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2015-02-12 09:40:31 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2015-02-12 09:40:31 +0100 |
commit | f7195becac2478bb43b2499c6ff99d5d4dd1977b (patch) | |
tree | a39f66c22431ad77cb2625f4d6f7e5c0fcac6b0b /lib | |
parent | a5080556879a018f0aff1cd7ffadfcdb6cd4565e (diff) | |
parent | d4c32102d829ffdbca117da27d2bbe876b4ad10f (diff) | |
download | Nim-f7195becac2478bb43b2499c6ff99d5d4dd1977b.tar.gz |
Merge pull request #2053 from reactormonk/message-for-koch-temp
report how to create a compiler stacktrace #1280
Diffstat (limited to 'lib')
-rw-r--r-- | lib/system/excpt.nim | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/system/excpt.nim b/lib/system/excpt.nim index 417a8634f..1b3471978 100644 --- a/lib/system/excpt.nim +++ b/lib/system/excpt.nim @@ -175,6 +175,8 @@ proc auxWriteStackTrace(f: PFrame, s: var string) = add(s, tempFrames[j].procname) add(s, "\n") +proc stackTraceAvailable*(): bool + when hasSomeStackTrace: proc rawWriteStackTrace(s: var string) = when NimStackTrace: @@ -188,6 +190,18 @@ when hasSomeStackTrace: auxWriteStackTraceWithBacktrace(s) else: add(s, "No stack traceback available\n") + proc stackTraceAvailable(): bool = + when NimStackTrace: + if framePtr == nil: + result = false + else: + result = true + elif defined(nativeStackTrace) and nativeStackTraceSupported: + result = true + else: + result = false +else: + proc stackTraceAvailable*(): bool = result = false proc quitOrDebug() {.inline.} = when not defined(endb): |