From 0eed97a84b172b198bf4e6de69c04b84ef9d9f93 Mon Sep 17 00:00:00 2001 From: flywind Date: Mon, 29 Mar 2021 17:06:12 +0800 Subject: [PATCH] fix #14011 --- lib/system/chcks.nim | 10 ++++++++-- tests/gc/tstandalone.nim | 13 +++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 tests/gc/tstandalone.nim diff --git a/lib/system/chcks.nim b/lib/system/chcks.nim index e0a8bd78ed..255d97cb26 100644 --- a/lib/system/chcks.nim +++ b/lib/system/chcks.nim @@ -29,10 +29,16 @@ proc raiseFieldError(f: string) {.compilerproc, noinline.} = sysFatal(FieldDefect, f) proc raiseRangeErrorI(i, a, b: BiggestInt) {.compilerproc, noinline.} = - sysFatal(RangeDefect, "value out of range: " & $i & " notin " & $a & " .. " & $b) + when defined(standalone): + sysFatal(RangeDefect, "value out of range") + else: + sysFatal(RangeDefect, "value out of range: " & $i & " notin " & $a & " .. " & $b) proc raiseRangeErrorF(i, a, b: float) {.compilerproc, noinline.} = - sysFatal(RangeDefect, "value out of range: " & $i & " notin " & $a & " .. " & $b) + when defined(standalone): + sysFatal(RangeDefect, "value out of range") + else: + sysFatal(RangeDefect, "value out of range: " & $i & " notin " & $a & " .. " & $b) proc raiseRangeErrorU(i, a, b: uint64) {.compilerproc, noinline.} = # todo: better error reporting diff --git a/tests/gc/tstandalone.nim b/tests/gc/tstandalone.nim new file mode 100644 index 0000000000..8110934cd5 --- /dev/null +++ b/tests/gc/tstandalone.nim @@ -0,0 +1,13 @@ +discard """ + matrix: "--os:standalone --gc:none" + errormsg: "value out of range" +""" + +type + rangeType = range[0..1] + +var + r: rangeType = 0 + i = 2 + +r = rangeType(i)