summary refs log tree commit diff stats
path: root/lib/system
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2013-08-31 02:07:52 +0200
committerAraq <rumpf_a@web.de>2013-08-31 02:07:52 +0200
commit6cc06cd35dc3aab58eb78757e76d5b72e5646c52 (patch)
tree11d4f8986208af2a0b7a225ac1ba85b29828ead3 /lib/system
parent4d9b2f671ad1c8109c8478c9a78e05e25def5f78 (diff)
downloadNim-6cc06cd35dc3aab58eb78757e76d5b72e5646c52.tar.gz
fixes #569; C++ codegen works again
Diffstat (limited to 'lib/system')
-rw-r--r--lib/system/ansi_c.nim2
-rw-r--r--lib/system/gc.nim2
-rw-r--r--lib/system/gc_ms.nim2
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))