@@ -1890,6 +1890,15 @@ proc genReset(p: PProc, n: PNode) =
18901890 lineF (p, " $1 = genericReset($3, $2);$n" , [a,
18911891 genTypeInfo (p, n[1 ].typ), tmp])
18921892
1893+ proc genMove (p: PProc ; n: PNode ; r: var TCompRes ) =
1894+ var a: TCompRes
1895+ r.kind = resVal
1896+ r.res = p.getTemp ()
1897+ gen (p, n[1 ], a)
1898+ lineF (p, " $1 = $2;$n" , [r.rdLoc, a.rdLoc])
1899+ genReset (p, n)
1900+ # lineF(p, "$1 = $2;$n", [dest.rdLoc, src.rdLoc])
1901+
18931902proc genMagic (p: PProc , n: PNode , r: var TCompRes ) =
18941903 var
18951904 a: TCompRes
@@ -2014,7 +2023,7 @@ proc genMagic(p: PProc, n: PNode, r: var TCompRes) =
20142023 of mNewSeqOfCap: unaryExpr (p, n, r, " " , " []" )
20152024 of mOf: genOf (p, n, r)
20162025 of mDefault: genDefault (p, n, r)
2017- of mReset: genReset (p, n)
2026+ of mReset, mWasMoved : genReset (p, n)
20182027 of mEcho: genEcho (p, n, r)
20192028 of mNLen.. mNError, mSlurp, mStaticExec:
20202029 localError (p.config, n.info, errXMustBeCompileTime % n[0 ].sym.name.s)
@@ -2037,6 +2046,8 @@ proc genMagic(p: PProc, n: PNode, r: var TCompRes) =
20372046 gen (p, n[3 ], z)
20382047 r.res = " ($1.slice($2, $3+1))" % [x.rdLoc, y.rdLoc, z.rdLoc]
20392048 r.kind = resExpr
2049+ of mMove:
2050+ genMove (p, n, r)
20402051 else :
20412052 genCall (p, n, r)
20422053 # else internalError(p.config, e.info, 'genMagic: ' + magicToStr[op]);
0 commit comments