@@ -852,13 +852,14 @@ proc trackCall(tracked: PEffects; n: PNode) =
852852 assumeTheWorst (tracked, n, op)
853853 gcsafeAndSideeffectCheck ()
854854 else :
855- if strictEffects in tracked.c.features and a.kind == nkSym and a.sym.kind in routineKinds:
855+ if strictEffects in tracked.c.features and a.kind == nkSym and
856+ a.sym.kind in routineKinds:
856857 propagateEffects (tracked, n, a.sym)
857858 else :
858859 mergeRaises (tracked, effectList[exceptionEffects], n)
859860 mergeTags (tracked, effectList[tagEffects], n)
860861 gcsafeAndSideeffectCheck ()
861- if a.kind != nkSym or a.sym.magic notin {mNBindSym, mFinished}:
862+ if a.kind != nkSym or a.sym.magic notin {mNBindSym, mFinished, mExpandToAst, mQuoteAst }:
862863 for i in 1 ..< n.len:
863864 trackOperandForIndirectCall (tracked, n[i], op, i, a)
864865 if a.kind == nkSym and a.sym.magic in {mNew, mNewFinalize, mNewSeq}:
@@ -883,7 +884,7 @@ proc trackCall(tracked: PEffects; n: PNode) =
883884 optStaticBoundsCheck in tracked.currOptions:
884885 checkBounds (tracked, n[1 ], n[2 ])
885886
886- if a.kind != nkSym or a.sym.magic != mRunnableExamples:
887+ if a.kind != nkSym or a.sym.magic notin { mRunnableExamples, mNBindSym, mExpandToAst, mQuoteAst} :
887888 for i in 0 ..< n.safeLen:
888889 track (tracked, n[i])
889890
0 commit comments