summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2013-09-10 00:40:19 +0200
committerAraq <rumpf_a@web.de>2013-09-10 00:40:19 +0200
commitf659b6a0d972c5c76cb9bb0898183383bce91663 (patch)
tree627df257be1280db59ab31296aca8cd7aace088a /compiler
parentdb19b1824197cb8051ab630bbc96ca51821f7f3b (diff)
parentf05ac0cb23c6d38ff74754d7bdbcf404a226c90b (diff)
downloadNim-f659b6a0d972c5c76cb9bb0898183383bce91663.tar.gz
Merge branch 'master' of github.com:Araq/Nimrod
Diffstat (limited to 'compiler')
-rw-r--r--compiler/nimrod.cfg2
-rw-r--r--compiler/semexprs.nim2
-rw-r--r--compiler/semtypes.nim4
3 files changed, 5 insertions, 3 deletions
diff --git a/compiler/nimrod.cfg b/compiler/nimrod.cfg
index ac8f732f1..fbebe1cec 100644
--- a/compiler/nimrod.cfg
+++ b/compiler/nimrod.cfg
@@ -2,7 +2,7 @@
 
 mainModule:"nimrod.nim"
 
-# gc:markAndSweep
+gc:markAndSweep
 
 hint[XDeclaredButNotUsed]:off
 path:"llvm"
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim
index 2681150e0..5dce7be54 100644
--- a/compiler/semexprs.nim
+++ b/compiler/semexprs.nim
@@ -686,7 +686,7 @@ proc semIndirectOp(c: PContext, n: PNode, flags: TExprFlags): PNode =
       result = n.sons[0]
       result.kind = nkCall
       for i in countup(1, sonsLen(n) - 1): addSon(result, n.sons[i])
-      return semDirectOp(c, result, flags)
+      return semExpr(c, result, flags)
   else: 
     n.sons[0] = semExpr(c, n.sons[0])
   let nOrig = n.copyTree
diff --git a/compiler/semtypes.nim b/compiler/semtypes.nim
index 64140274e..d61a1d481 100644
--- a/compiler/semtypes.nim
+++ b/compiler/semtypes.nim
@@ -608,7 +608,9 @@ proc liftParamType(c: PContext, procKind: TSymKind, genericParams: PNode,
       if genericParams.sons[i].sym.name.id == finalTypId.id:
         return genericParams.sons[i].typ
 
-    var s = newSym(skType, finalTypId, typeClass.sym, info)
+    let owner = if typeClass.sym != nil: typeClass.sym
+                else: getCurrOwner()
+    var s = newSym(skType, finalTypId, owner, info)
     if typId == nil: s.flags.incl(sfAnon)
     s.linkTo(typeClass)
     s.position = genericParams.len