mirror of
https://github.com/nim-lang/Nim.git
synced 2026-07-22 00:41:28 +00:00
attempt to fix tunidecode test; GC cares for seq->openArray conversions
This commit is contained in:
@@ -1721,12 +1721,14 @@ when hasSpawnh:
|
||||
POSIX_SPAWN_SETSIGDEF* {.importc, header: "<spawn.h>".}: cint
|
||||
POSIX_SPAWN_SETSIGMASK* {.importc, header: "<spawn.h>".}: cint
|
||||
|
||||
when defined(macosx):
|
||||
when defined(linux):
|
||||
# better be safe than sorry; Linux has this flag, macosx doesn't, don't
|
||||
# know about the other OSes
|
||||
var POSIX_SPAWN_USEVFORK* {.importc, header: "<spawn.h>".}: cint
|
||||
else:
|
||||
# macosx lacks this, so we define the constant to be 0 to not affect
|
||||
# OR'ing of flags:
|
||||
const POSIX_SPAWN_USEVFORK* = cint(0)
|
||||
else:
|
||||
var POSIX_SPAWN_USEVFORK* {.importc, header: "<spawn.h>".}: cint
|
||||
|
||||
when hasAioH:
|
||||
proc aio_cancel*(a1: cint, a2: ptr Taiocb): cint {.importc, header: "<aio.h>".}
|
||||
|
||||
1909
lib/pure/unicode.nim
Executable file → Normal file
1909
lib/pure/unicode.nim
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
@@ -517,6 +517,12 @@ proc gcMark(gch: var TGcHeap, p: pointer) {.inline.} =
|
||||
# mark the cell:
|
||||
cell.refcount = cell.refcount +% rcIncrement
|
||||
add(gch.decStack, cell)
|
||||
# care for string->cstring and seq->openArray conversions:
|
||||
var b = cast[PCell](c -% sizeof(TGenericSeq))
|
||||
if isAllocatedPtr(gch.region, b):
|
||||
# mark the cell:
|
||||
b.refcount = b.refcount +% rcIncrement
|
||||
add(gch.decStack, b)
|
||||
|
||||
proc markThreadStacks(gch: var TGcHeap) =
|
||||
when hasThreadSupport and hasSharedHeap:
|
||||
|
||||
Reference in New Issue
Block a user