diff options
author | Araq <rumpf_a@web.de> | 2011-09-21 00:54:13 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2011-09-21 00:54:13 +0200 |
commit | 2359b8b1073cfd027ac14a147aba06cc18d61010 (patch) | |
tree | a626a08e54311512f40d6ce1a40ffd397dab9cfa /compiler | |
parent | 57f184cf48a0b522001ab20e2c742d4d6436e14d (diff) | |
download | Nim-2359b8b1073cfd027ac14a147aba06cc18d61010.tar.gz |
fixed some newly introduced bugs
Diffstat (limited to 'compiler')
-rwxr-xr-x | compiler/semexprs.nim | 7 |
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 = |