summary refs log tree commit diff stats
path: root/lib/system.nim
diff options
context:
space:
mode:
authorBung <crc32@qq.com>2022-12-01 20:34:00 +0800
committerGitHub <noreply@github.com>2022-12-01 13:34:00 +0100
commit658b28dc5707601b39d9aad4b6bf79a9afff1e92 (patch)
treeb8e10d4d1f2666c45c3b1dec23e7c03d5ba23be9 /lib/system.nim
parenta70d3abd37819e7562f80f0c808788c3f5c62c55 (diff)
downloadNim-658b28dc5707601b39d9aad4b6bf79a9afff1e92.tar.gz
tyInt tyUint fit target int bit width (#20829)
Diffstat (limited to 'lib/system.nim')
-rw-r--r--lib/system.nim14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/system.nim b/lib/system.nim
index c41b3cb9d..ac806759c 100644
--- a/lib/system.nim
+++ b/lib/system.nim
@@ -2001,7 +2001,7 @@ when notJSnotNims:
   proc equalMem(a, b: pointer, size: Natural): bool =
     nimCmpMem(a, b, size) == 0
   proc cmpMem(a, b: pointer, size: Natural): int =
-    nimCmpMem(a, b, size)
+    nimCmpMem(a, b, size).int
 
 when not defined(js):
   proc cmp(x, y: string): int =
@@ -2300,11 +2300,13 @@ else:
       type ExitCodeRange = int8
     else: # win32 uses low 32 bits
       type ExitCodeRange = cint
-
-    if errorcode < low(ExitCodeRange):
-      rawQuit(low(ExitCodeRange).cint)
-    elif errorcode > high(ExitCodeRange):
-      rawQuit(high(ExitCodeRange).cint)
+    when sizeof(errorcode) > sizeof(ExitCodeRange):
+      if errorcode < low(ExitCodeRange):
+        rawQuit(low(ExitCodeRange).cint)
+      elif errorcode > high(ExitCodeRange):
+        rawQuit(high(ExitCodeRange).cint)
+      else:
+        rawQuit(errorcode.cint)
     else:
       rawQuit(errorcode.cint)