From f66f43bca031375339f7e232a6ae62107e476c64 Mon Sep 17 00:00:00 2001 From: EXetoC Date: Wed, 14 May 2014 18:12:47 +0200 Subject: [PATCH] Fix more 'undeclared identifier' errors. --- compiler/cgen.nim | 3 ++- compiler/rodutils.nim | 2 +- lib/pure/oids.nim | 4 ++-- lib/pure/osproc.nim | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/compiler/cgen.nim b/compiler/cgen.nim index 8d66d7a3b1..198b1187d8 100644 --- a/compiler/cgen.nim +++ b/compiler/cgen.nim @@ -503,7 +503,8 @@ proc assignLocalVar(p: BProc, s: PSym) = if sfRegister in s.flags: app(decl, " register") #elif skipTypes(s.typ, abstractInst).kind in GcTypeKinds: # app(decl, " GC_GUARD") - if sfVolatile in s.flags or p.nestedTryStmts.len > 0: + if sfVolatile in s.flags or (p.nestedTryStmts.len > 0 and + gCmd != cmdCompileToCpp): app(decl, " volatile") appf(decl, " $1;$n", [s.loc.r]) else: diff --git a/compiler/rodutils.nim b/compiler/rodutils.nim index 4433ed4abd..09b92cd8ad 100644 --- a/compiler/rodutils.nim +++ b/compiler/rodutils.nim @@ -10,7 +10,7 @@ ## Serialization utilities for the compiler. import strutils -proc c_sprintf(buf, frmt: cstring) {.importc: "sprintf", nodecl, varargs.} +proc c_sprintf(buf, frmt: cstring) {.importc: "sprintf", header: "", nodecl, varargs.} proc toStrMaxPrecision*(f: BiggestFloat): string = if f != f: diff --git a/lib/pure/oids.nim b/lib/pure/oids.nim index b3e74d2a1a..2843e6c656 100644 --- a/lib/pure/oids.nim +++ b/lib/pure/oids.nim @@ -62,9 +62,9 @@ var proc genOid*(): TOid = ## generates a new OID. - proc rand(): cint {.importc: "rand", nodecl.} + proc rand(): cint {.importc: "rand", header: "", nodecl.} proc gettime(dummy: ptr cint): cint {.importc: "time", header: "".} - proc srand(seed: cint) {.importc: "srand", nodecl.} + proc srand(seed: cint) {.importc: "srand", header: "", nodecl.} var t = gettime(nil) diff --git a/lib/pure/osproc.nim b/lib/pure/osproc.nim index 6e250f9d54..d2ada70148 100644 --- a/lib/pure/osproc.nim +++ b/lib/pure/osproc.nim @@ -903,7 +903,7 @@ elif not defined(useNimRtl): createStream(p.errStream, p.errHandle, fmRead) return p.errStream - proc csystem(cmd: cstring): cint {.nodecl, importc: "system".} + proc csystem(cmd: cstring): cint {.nodecl, importc: "system", header: "".} proc execCmd(command: string): int = when defined(linux):