diff options
author | ringabout <43030857+ringabout@users.noreply.github.com> | 2024-04-10 20:41:16 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-10 14:41:16 +0200 |
commit | 9b378296f65fff962225acc1bef2b3811fffda03 (patch) | |
tree | 882e043308e3a81d125666a6cff4f4bede5e0c2f /compiler/semexprs.nim | |
parent | 72d0ba2df534109064badde1a1b26ae53f22d44d (diff) | |
download | Nim-9b378296f65fff962225acc1bef2b3811fffda03.tar.gz |
fixes addr/hiddenAddr in strictdefs (#23477)
Diffstat (limited to 'compiler/semexprs.nim')
-rw-r--r-- | compiler/semexprs.nim | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/compiler/semexprs.nim b/compiler/semexprs.nim index 4d0d43662..61d4687a3 100644 --- a/compiler/semexprs.nim +++ b/compiler/semexprs.nim @@ -2198,7 +2198,7 @@ proc semExpandToAst(c: PContext, n: PNode): PNode = let headSymbol = macroCall[0] var cands = 0 var cand: PSym = nil - var o: TOverloadIter + var o: TOverloadIter = default(TOverloadIter) var symx = initOverloadIter(o, c, headSymbol) while symx != nil: if symx.kind in {skTemplate, skMacro} and symx.typ.len == macroCall.len: @@ -2448,9 +2448,7 @@ proc semMagic(c: PContext, n: PNode, s: PSym, flags: TExprFlags; expectedType: P of mAddr: markUsed(c, n.info, s) checkSonsLen(n, 2, c.config) - result[0] = newSymNode(s, n[0].info) - result[1] = semAddrArg(c, n[1]) - result.typ = makePtrType(c, result[1].typ) + result = semAddr(c, n[1]) of mTypeOf: markUsed(c, n.info, s) result = semTypeOf(c, n) @@ -2861,7 +2859,7 @@ proc semExport(c: PContext, n: PNode): PNode = result = newNodeI(nkExportStmt, n.info) for i in 0..<n.len: let a = n[i] - var o: TOverloadIter + var o: TOverloadIter = default(TOverloadIter) var s = initOverloadIter(o, c, a) if s == nil: localError(c.config, a.info, errGenerated, "cannot export: " & renderTree(a)) @@ -2991,7 +2989,7 @@ proc getNilType(c: PContext): PType = c.nilTypeCache = result proc enumFieldSymChoice(c: PContext, n: PNode, s: PSym): PNode = - var o: TOverloadIter + var o: TOverloadIter = default(TOverloadIter) var i = 0 var a = initOverloadIter(o, c, n) while a != nil: @@ -3335,8 +3333,7 @@ proc semExpr(c: PContext, n: PNode, flags: TExprFlags = {}, expectedType: PType of nkAddr: result = n checkSonsLen(n, 1, c.config) - result[0] = semAddrArg(c, n[0]) - result.typ = makePtrType(c, result[0].typ) + result = semAddr(c, n[0]) of nkHiddenAddr, nkHiddenDeref: checkSonsLen(n, 1, c.config) n[0] = semExpr(c, n[0], flags, expectedType) |