From 90d25919f3ee1a84b72da84ff963e6853b650bd5 Mon Sep 17 00:00:00 2001 From: Araq Date: Mon, 7 Oct 2013 06:38:04 +0200 Subject: [PATCH] implemented top level asm statements --- compiler/ccgstmts.nim | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/ccgstmts.nim b/compiler/ccgstmts.nim index 3c8c6d9a37..75cabf4143 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)