summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2012-03-28 23:03:55 +0200
committerAraq <rumpf_a@web.de>2012-03-28 23:03:55 +0200
commit97743faa837b4e7ec4db0af59d7aafd5d09deee7 (patch)
tree1b684436e38ca47a5c5687a19f6e8a6dc0d507da /compiler
parentff3e80279b928f94fe707b23a749d12e0080bd21 (diff)
downloadNim-97743faa837b4e7ec4db0af59d7aafd5d09deee7.tar.gz
tests tcnstseq and tcnstseq3 work again
Diffstat (limited to 'compiler')
-rwxr-xr-xcompiler/ccgstmts.nim5
-rw-r--r--compiler/cgendata.nim2
2 files changed, 5 insertions, 2 deletions
diff --git a/compiler/ccgstmts.nim b/compiler/ccgstmts.nim
index f725a31f1..9c0d52221 100755
--- a/compiler/ccgstmts.nim
+++ b/compiler/ccgstmts.nim
@@ -725,7 +725,10 @@ proc genStmts(p: BProc, t: PNode) =
     genLineDir(p, t)
     initLocExpr(p, t, a)
   of nkAsgn: genAsgn(p, t, fastAsgn=false)
-  of nkFastAsgn: genAsgn(p, t, fastAsgn=true)
+  of nkFastAsgn: 
+    # transf is overly aggressive with 'nkFastAsgn', so we work around here.
+    # See tests/run/tcnstseq3 for an example that would fail otherwise.
+    genAsgn(p, t, fastAsgn=p.prc != nil)
   of nkDiscardStmt: 
     genLineDir(p, t)
     initLocExpr(p, t.sons[0], a)
diff --git a/compiler/cgendata.nim b/compiler/cgendata.nim
index d93c107ac..c58c64250 100644
--- a/compiler/cgendata.nim
+++ b/compiler/cgendata.nim
@@ -36,7 +36,7 @@ type
     cfsDynLibInit,            # section for init of dynamic library binding
     cfsDynLibDeinit           # section for deinitialization of dynamic
                               # libraries
-  TCTypeKind* = enum           # describes the type kind of a C type
+  TCTypeKind* = enum          # describes the type kind of a C type
     ctVoid, ctChar, ctBool, ctUInt, ctUInt8, ctUInt16, ctUInt32, ctUInt64, 
     ctInt, ctInt8, ctInt16, ctInt32, ctInt64, ctFloat, ctFloat32, ctFloat64, 
     ctFloat128, ctArray, ctStruct, ctPtr, ctNimStr, ctNimSeq, ctProc, ctCString