diff options
author | Araq <rumpf_a@web.de> | 2013-08-31 02:07:52 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2013-08-31 02:07:52 +0200 |
commit | 6cc06cd35dc3aab58eb78757e76d5b72e5646c52 (patch) | |
tree | 11d4f8986208af2a0b7a225ac1ba85b29828ead3 /lib/system | |
parent | 4d9b2f671ad1c8109c8478c9a78e05e25def5f78 (diff) | |
download | Nim-6cc06cd35dc3aab58eb78757e76d5b72e5646c52.tar.gz |
fixes #569; C++ codegen works again
Diffstat (limited to 'lib/system')
-rw-r--r-- | lib/system/ansi_c.nim | 2 | ||||
-rw-r--r-- | lib/system/gc.nim | 2 | ||||
-rw-r--r-- | lib/system/gc_ms.nim | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/lib/system/ansi_c.nim b/lib/system/ansi_c.nim index 06da34926..13e8496d2 100644 --- a/lib/system/ansi_c.nim +++ b/lib/system/ansi_c.nim @@ -58,7 +58,7 @@ else: proc c_longjmp(jmpb: C_JmpBuf, retval: cint) {. header: "<setjmp.h>", importc: "longjmp".} -proc c_setjmp(jmpb: var C_JmpBuf): cint {. +proc c_setjmp(jmpb: C_JmpBuf): cint {. header: "<setjmp.h>", importc: "setjmp".} proc c_signal(sig: cint, handler: proc (a: cint) {.noconv.}) {. diff --git a/lib/system/gc.nim b/lib/system/gc.nim index 36c008bef..f5b68b9db 100644 --- a/lib/system/gc.nim +++ b/lib/system/gc.nim @@ -759,7 +759,7 @@ else: # Used to traverse the stack and registers assuming # that 'setjmp' will save registers in the C stack. type PStackSlice = ptr array [0..7, pointer] - var registers: C_JmpBuf + var registers {.noinit.}: C_JmpBuf if c_setjmp(registers) == 0'i32: # To fill the C stack with registers. var max = cast[TAddress](gch.stackBottom) var sp = cast[TAddress](addr(registers)) diff --git a/lib/system/gc_ms.nim b/lib/system/gc_ms.nim index 9ebc27a9f..2e3596985 100644 --- a/lib/system/gc_ms.nim +++ b/lib/system/gc_ms.nim @@ -449,7 +449,7 @@ else: # Used to traverse the stack and registers assuming # that 'setjmp' will save registers in the C stack. type PStackSlice = ptr array [0..7, pointer] - var registers: C_JmpBuf + var registers {.noinit.}: C_JmpBuf if c_setjmp(registers) == 0'i32: # To fill the C stack with registers. var max = cast[TAddress](gch.stackBottom) var sp = cast[TAddress](addr(registers)) |