@@ -1890,6 +1890,15 @@ proc genReset(p: PProc, n: PNode) =
1890
1890
lineF(p, "$1 = genericReset($3, $2);$n", [a,
1891
1891
genTypeInfo(p, n[1].typ), tmp])
1892
1892
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
+
1893
1902
proc genMagic(p: PProc, n: PNode, r: var TCompRes) =
1894
1903
var
1895
1904
a: TCompRes
@@ -2014,7 +2023,7 @@ proc genMagic(p: PProc, n: PNode, r: var TCompRes) =
2014
2023
of mNewSeqOfCap: unaryExpr(p, n, r, "", "[]")
2015
2024
of mOf: genOf(p, n, r)
2016
2025
of mDefault: genDefault(p, n, r)
2017
- of mReset: genReset(p, n)
2026
+ of mReset, mWasMoved : genReset(p, n)
2018
2027
of mEcho: genEcho(p, n, r)
2019
2028
of mNLen..mNError, mSlurp, mStaticExec:
2020
2029
localError(p.config, n.info, errXMustBeCompileTime % n[0].sym.name.s)
@@ -2037,6 +2046,8 @@ proc genMagic(p: PProc, n: PNode, r: var TCompRes) =
2037
2046
gen(p, n[3], z)
2038
2047
r.res = "($1.slice($2, $3+1))" % [x.rdLoc, y.rdLoc, z.rdLoc]
2039
2048
r.kind = resExpr
2049
+ of mMove:
2050
+ genMove(p, n, r)
2040
2051
else:
2041
2052
genCall(p, n, r)
2042
2053
#else internalError(p.config, e.info, 'genMagic: ' + magicToStr[op]);
0 commit comments