[os:standalone]fix #14011 (#17564)

This commit is contained in:
flywind
2021-03-29 23:54:28 +08:00
committed by GitHub
parent d23a757765
commit 7ad49950bd
3 changed files with 36 additions and 2 deletions

View File

@@ -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

View File

@@ -0,0 +1,14 @@
proc printf(frmt: cstring) {.varargs, importc, header: "<stdio.h>", cdecl.}
proc exit(code: int) {.importc, header: "<stdlib.h>", cdecl.}
{.push stack_trace: off, profiler:off.}
proc rawoutput(s: string) =
printf("%s\n", s)
proc panic(s: string) {.noreturn.} =
rawoutput(s)
exit(1)
{.pop.}

14
tests/gc/tstandalone.nim Normal file
View File

@@ -0,0 +1,14 @@
discard """
matrix: "--os:standalone --gc:none"
exitcode: 1
output: "value out of range"
"""
type
rangeType = range[0..1]
var
r: rangeType = 0
i = 2
r = rangeType(i)