fix nim js cmp fails at CT (#16473)

This commit is contained in:
flywind
2020-12-27 03:13:57 -06:00
committed by GitHub
parent 4cf605dcf6
commit 3f9a2ebea5
4 changed files with 49 additions and 24 deletions

View File

@@ -2394,14 +2394,8 @@ when notJSnotNims:
""".}
when defined(js):
when not defined(nimscript):
include "system/jssys"
include "system/reprjs"
else:
proc cmp(x, y: string): int =
if x == y: return 0
if x < y: return -1
return 1
include "system/jssys"
include "system/reprjs"
when defined(js) or defined(nimscript):
proc addInt*(result: var string; x: int64) =

View File

@@ -340,7 +340,12 @@ proc cmpStrings(a, b: string): int {.asmNoStackFrame, compilerproc.} =
"""
proc cmp(x, y: string): int =
return cmpStrings(x, y)
when nimvm:
if x == y: result = 0
elif x < y: result = -1
else: result = 1
else:
result = cmpStrings(x, y)
proc eqStrings(a, b: string): bool {.asmNoStackFrame, compilerproc.} =
asm """