summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2011-09-21 00:54:13 +0200
committerAraq <rumpf_a@web.de>2011-09-21 00:54:13 +0200
commit2359b8b1073cfd027ac14a147aba06cc18d61010 (patch)
treea626a08e54311512f40d6ce1a40ffd397dab9cfa /compiler
parent57f184cf48a0b522001ab20e2c742d4d6436e14d (diff)
downloadNim-2359b8b1073cfd027ac14a147aba06cc18d61010.tar.gz
fixed some newly introduced bugs
Diffstat (limited to 'compiler')
-rwxr-xr-xcompiler/semexprs.nim7
1 files changed, 3 insertions, 4 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim
index 6dbbba7b8..3a8b827a0 100755
--- a/compiler/semexprs.nim
+++ b/compiler/semexprs.nim
@@ -169,7 +169,7 @@ proc semConv(c: PContext, n: PNode, s: PSym): PNode =
 
 proc semCast(c: PContext, n: PNode): PNode = 
   if optSafeCode in gGlobalOptions: localError(n.info, errCastNotInSafeMode)
-  incl(c.p.owner.flags, sfSideEffect)
+  #incl(c.p.owner.flags, sfSideEffect)
   checkSonsLen(n, 2)
   result = newNodeI(nkCast, n.info)
   result.typ = semTypeNode(c, n.sons[0], nil)
@@ -453,9 +453,8 @@ proc semDirectCallAnalyseEffects(c: PContext, n: PNode,
     var callee = result.sons[0].sym
     if (callee.kind == skIterator) and (callee.id == c.p.owner.id): 
       GlobalError(n.info, errRecursiveDependencyX, callee.name.s)
-    if not (sfNoSideEffect in callee.flags): 
-      if (sfForward in callee.flags) or
-          ({sfImportc, sfSideEffect} * callee.flags != {}): 
+    if sfNoSideEffect notin callee.flags: 
+      if {sfImportc, sfSideEffect} * callee.flags != {}:
         incl(c.p.owner.flags, sfSideEffect)
   
 proc semIndirectOp(c: PContext, n: PNode, flags: TExprFlags): PNode =