some progress on --gc:destructors

This commit is contained in:
Andreas Rumpf 2018-11-27 00:26:43 +01:00
commit 8990764709

View file

@ -82,7 +82,7 @@ type
cap: int cap: int
region: Allocator region: Allocator
proc newSeqPayload(cap, elemSize: int): pointer {.compilerRtl, noSideEffect.} = proc newSeqPayload(cap, elemSize: int): pointer {.compilerRtl.} =
# we have to use type erasure here as Nim does not support generic # we have to use type erasure here as Nim does not support generic
# compilerProcs. Oh well, this will all be inlined anyway. # compilerProcs. Oh well, this will all be inlined anyway.
if cap <= 0: if cap <= 0:
@ -96,6 +96,7 @@ proc newSeqPayload(cap, elemSize: int): pointer {.compilerRtl, noSideEffect.} =
proc prepareSeqAdd(len: int; p: pointer; addlen, elemSize: int): pointer {. proc prepareSeqAdd(len: int; p: pointer; addlen, elemSize: int): pointer {.
compilerRtl, noSideEffect.} = compilerRtl, noSideEffect.} =
{.noSideEffect.}:
if len+addlen <= len: if len+addlen <= len:
result = p result = p
elif p == nil: elif p == nil: