diff options
author | Araq <rumpf_a@web.de> | 2014-02-25 01:21:00 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-02-25 01:21:00 +0100 |
commit | 20131c32af45905fcbfd64ce1fbdfa8e83ecee2d (patch) | |
tree | 24f2d9c91387ce4fabf400089440521c9b1fb034 /compiler/semexprs.nim | |
parent | 10768904eb65da1899d0d48cc1a2f3547af3bef0 (diff) | |
parent | 263cabd1c27977aa32c849ffb334984e8d476b97 (diff) | |
download | Nim-20131c32af45905fcbfd64ce1fbdfa8e83ecee2d.tar.gz |
Merge branch 'vm2_2' into devel
Diffstat (limited to 'compiler/semexprs.nim')
-rw-r--r-- | compiler/semexprs.nim | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index c271911ab..538489490 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -641,9 +641,11 @@ proc evalAtCompileTime(c: PContext, n: PNode): PNode = result = evalStaticExpr(c.module, call, c.p.owner) if result.isNil: localError(n.info, errCannotInterpretNodeX, renderTree(call)) + else: result = fixupTypeAfterEval(c, result, n) else: result = evalConstExpr(c.module, call) if result.isNil: result = n + else: result = fixupTypeAfterEval(c, result, n) #if result != n: # echo "SUCCESS evaluated at compile time: ", call.renderTree @@ -653,6 +655,8 @@ proc semStaticExpr(c: PContext, n: PNode): PNode = if result.isNil: localError(n.info, errCannotInterpretNodeX, renderTree(n)) result = emptyNode + else: + result = fixupTypeAfterEval(c, result, a) proc semOverloadedCallAnalyseEffects(c: PContext, n: PNode, nOrig: PNode, flags: TExprFlags): PNode = |