fix term rewriting with sideeffect (#19410)
* fix term rewriting with sideeffect fix #6217 * add tests * Update tests/template/template_various.nim
This commit is contained in:
parent
23c4bbedcb
commit
5d34e81f23
2 changed files with 24 additions and 2 deletions
|
|
@ -143,8 +143,11 @@ proc checkForSideEffects*(n: PNode): TSideEffectAnalysis =
|
|||
let s = op.sym
|
||||
if sfSideEffect in s.flags:
|
||||
return seSideEffect
|
||||
# assume no side effect:
|
||||
result = seNoSideEffect
|
||||
elif tfNoSideEffect in op.typ.flags:
|
||||
result = seNoSideEffect
|
||||
else:
|
||||
# assume side effect:
|
||||
result = seSideEffect
|
||||
elif tfNoSideEffect in op.typ.flags:
|
||||
# indirect call without side effects:
|
||||
result = seNoSideEffect
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue