diff options
author | Araq <rumpf_a@web.de> | 2013-10-07 06:38:04 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2013-10-07 06:38:04 +0200 |
commit | 90d25919f3ee1a84b72da84ff963e6853b650bd5 (patch) | |
tree | 5acb11c1c8c206f98e73fb5c879119156c9bd2e6 | |
parent | bb365ca424487dbad0f05cc7097cc3eca1bcc671 (diff) | |
download | Nim-90d25919f3ee1a84b72da84ff963e6853b650bd5.tar.gz |
implemented top level asm statements
-rw-r--r-- | compiler/ccgstmts.nim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/ccgstmts.nim b/compiler/ccgstmts.nim index 3c8c6d9a3..75cabf414 100644 --- a/compiler/ccgstmts.nim +++ b/compiler/ccgstmts.nim @@ -856,7 +856,11 @@ proc genAsmStmt(p: BProc, t: PNode) = assert(t.kind == nkAsmStmt) genLineDir(p, t) var s = genAsmOrEmitStmt(p, t, isAsmStmt=true) - lineF(p, cpsStmts, CC[ccompiler].asmStmtFrmt, [s]) + if p.prc == nil: + # top level asm statement? + appf(p.module.s[cfsProcHeaders], CC[ccompiler].asmStmtFrmt, [s]) + else: + lineF(p, cpsStmts, CC[ccompiler].asmStmtFrmt, [s]) proc genEmit(p: BProc, t: PNode) = genLineDir(p, t) |