Fix deletion of if (SEF_expr) ;

Fixes #29. Thanks @KrsityKu for the test case, which was added to the test suite.
This commit is contained in:
Sei Lisa 2024-04-20 20:03:58 +02:00
parent ff85a1e837
commit 1e1f181b82
3 changed files with 20 additions and 1 deletions

View file

@ -1819,7 +1819,7 @@ class foldconst(object):
# if (X) ; -> X;
if len(child) == 2:
parent[index] = nr(nt='EXPR', t=child[0].t,
ch=[child[0]])
ch=[child[0]], SEF=child[0].SEF)
# It has been promoted to statement. Fold it as such.
# (Will remove it if SEF)
self.FoldStmt(parent, index)

View file

@ -0,0 +1,12 @@
default
{
touch(integer num)
{
integer dead = 0;
if (num == 5)
dead = 1;
else
dead = 2;
llOwnerSay("Not Dead");
}
}

View file

@ -0,0 +1,7 @@
default
{
touch(integer num)
{
llOwnerSay("Not Dead");
}
}