fixes nimrtl compilation

This commit is contained in:
Zahary Karadjov
2013-01-28 00:47:41 +02:00
parent 19e795e017
commit 0cb95891d3
3 changed files with 4 additions and 4 deletions

View File

@@ -438,11 +438,11 @@ struct TFrame {
#define nimfr(proc, file) \
volatile TFrame F; \
F.procname = proc; F.filename = file; F.line = 0; F.len = 0; pushFrame(&F);
F.procname = proc; F.filename = file; F.line = 0; F.len = 0; nimFrame(&F);
#define nimfrs(proc, file, slots) \
volatile struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; TVarSlot s[slots];} F; \
F.procname = proc; F.filename = file; F.line = 0; F.len = slots; pushFrame((TFrame*)&F);
F.procname = proc; F.filename = file; F.line = 0; F.len = slots; nimFrame((TFrame*)&F);
#define nimln(n, file) \
F.line = n; F.filename = file;

View File

@@ -17,7 +17,7 @@ proc chckRange(i, a, b: int): int {.inline, compilerproc.}
proc chckRangeF(x, a, b: float): float {.inline, compilerproc.}
proc chckNil(p: pointer) {.inline, compilerproc.}
proc pushFrame(s: PFrame) {.compilerRtl, inl.} = nil
proc pushFrame(s: PFrame) {.compilerRtl, inl, exportc: "nimFrame".} = nil
proc popFrame {.compilerRtl, inl.} = nil
proc setFrame(s: PFrame) {.compilerRtl, inl.} = nil

View File

@@ -41,7 +41,7 @@ var
# a global variable for the root of all try blocks
currException {.rtlThreadVar.}: ref E_Base
proc pushFrame(s: PFrame) {.compilerRtl, inl.} =
proc pushFrame(s: PFrame) {.compilerRtl, inl, exportc: "nimFrame".} =
s.prev = framePtr
framePtr = s