diff options
author | Araq <rumpf_a@web.de> | 2014-10-11 12:25:15 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-10-11 12:25:15 +0200 |
commit | 6c9730b3534927ac2bdd4ec7c77e0d37bba7aa2e (patch) | |
tree | f2c64a84d968861918b94cc23e0517b6842e5887 /compiler | |
parent | 8afb85b3d42b45509c78aa38a6009766cfe371f2 (diff) | |
download | Nim-6c9730b3534927ac2bdd4ec7c77e0d37bba7aa2e.tar.gz |
fixes #1551
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/semexprs.nim | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index ff445ecd0..46e6f1ab3 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -1614,6 +1614,11 @@ proc instantiateCreateFlowVarCall(c: PContext; t: PType; initIdTable(bindings) bindings.idTablePut(sym.ast[genericParamsPos].sons[0].typ, t) result = c.semGenerateInstance(c, sym, bindings, info) + # since it's an instantiation, we unmark it as a compilerproc. Otherwise + # codegen would fail: + if sfCompilerProc in result.flags: + result.flags = result.flags - {sfCompilerProc, sfExportC, sfImportC} + result.loc.r = nil proc setMs(n: PNode, s: PSym): PNode = result = n |