diff options
author | Araq <rumpf_a@web.de> | 2015-08-04 17:31:00 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-08-04 17:31:18 +0200 |
commit | ab26298a035ed794fc73724a6ae06eefd6c764d3 (patch) | |
tree | 92eabb800ac80655ec3036633f8bbe519fe94060 /compiler/semexprs.nim | |
parent | f8f967720598ad75ec0e0db68a983cbcdd39145d (diff) | |
download | Nim-ab26298a035ed794fc73724a6ae06eefd6c764d3.tar.gz |
added system.unsafeAddr
Diffstat (limited to 'compiler/semexprs.nim')
-rw-r--r-- | compiler/semexprs.nim | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index fba64776d..b4308def3 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -597,8 +597,8 @@ proc skipObjConv(n: PNode): PNode = of nkObjUpConv, nkObjDownConv: result = n.sons[0] else: result = n -proc isAssignable(c: PContext, n: PNode): TAssignableResult = - result = parampatterns.isAssignable(c.p.owner, n) +proc isAssignable(c: PContext, n: PNode; isUnsafeAddr=false): TAssignableResult = + result = parampatterns.isAssignable(c.p.owner, n, isUnsafeAddr) proc newHiddenAddrTaken(c: PContext, n: PNode): PNode = if n.kind == nkHiddenDeref and not (gCmd == cmdCompileToCpp or @@ -1700,7 +1700,7 @@ proc semMagic(c: PContext, n: PNode, s: PSym, flags: TExprFlags): PNode = case s.magic # magics that need special treatment of mAddr: checkSonsLen(n, 2) - result = semAddr(c, n.sons[1]) + result = semAddr(c, n.sons[1], s.name.s == "unsafeAddr") of mTypeOf: checkSonsLen(n, 2) result = semTypeOf(c, n.sons[1]) |