diff options
author | Araq <rumpf_a@web.de> | 2015-03-01 21:41:21 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-03-01 21:41:21 +0100 |
commit | 24ae0c387f4f95f5e61279dc3c78c117ca939eca (patch) | |
tree | 5c0bd2f0fb845c541224b3c49550cf58f8a056fd /lib | |
parent | 566ee874cde6defb128cdf9df124c45146187129 (diff) | |
download | Nim-24ae0c387f4f95f5e61279dc3c78c117ca939eca.tar.gz |
some love for the testsuite; fixed regressions
Diffstat (limited to 'lib')
-rw-r--r-- | lib/core/typeinfo.nim | 4 | ||||
-rw-r--r-- | lib/system/hti.nim | 6 | ||||
-rw-r--r-- | lib/system/sysstr.nim | 12 |
3 files changed, 16 insertions, 6 deletions
diff --git a/lib/core/typeinfo.nim b/lib/core/typeinfo.nim index 0046924a1..c3ff66591 100644 --- a/lib/core/typeinfo.nim +++ b/lib/core/typeinfo.nim @@ -66,9 +66,9 @@ type ppointer = ptr pointer pbyteArray = ptr array[0.. 0xffff, int8] - TGenSeq = object + TGenericSeq {.importc.} = object len, space: int - PGenSeq = ptr TGenSeq + PGenSeq = ptr TGenericSeq const GenericSeqSize = (2 * sizeof(int)) diff --git a/lib/system/hti.nim b/lib/system/hti.nim index 7dee054ac..aff0c0e6f 100644 --- a/lib/system/hti.nim +++ b/lib/system/hti.nim @@ -11,7 +11,7 @@ when declared(NimString): # we are in system module: {.pragma: codegenType, compilerproc.} else: - {.pragma: codegenType.} + {.pragma: codegenType, importc.} type # This should be he same as ast.TTypeKind @@ -65,7 +65,7 @@ type tyBigNum, TNimNodeKind = enum nkNone, nkSlot, nkList, nkCase - TNimNode {.codegenType, final.} = object + TNimNode {.codegenType.} = object kind: TNimNodeKind offset: int typ: ptr TNimType @@ -78,7 +78,7 @@ type ntfAcyclic = 1, # type cannot form a cycle ntfEnumHole = 2 # enum has holes and thus `$` for them needs the slow # version - TNimType {.codegenType, final.} = object + TNimType {.codegenType.} = object size: int kind: TNimKind flags: set[TNimTypeFlag] diff --git a/lib/system/sysstr.nim b/lib/system/sysstr.nim index 9d9cc0070..cfbc24f0c 100644 --- a/lib/system/sysstr.nim +++ b/lib/system/sysstr.nim @@ -264,7 +264,17 @@ proc nimFloatToStr(f: float): string {.compilerproc.} = buf[n] = '.' buf[n+1] = '0' buf[n+2] = '\0' - result = $buf + # On Windows nice numbers like '1.#INF', '-1.#INF' or '1.#NAN' are produced. + # We want to get rid of these here: + if buf[n-1] == 'N': + result = "nan" + elif buf[n-1] == 'F': + if buf[0] == '-': + result = "-inf" + else: + result = "inf" + else: + result = $buf proc strtod(buf: cstring, endptr: ptr cstring): float64 {.importc, header: "<stdlib.h>", noSideEffect.} |