Skip to content

Commit e07d768

Browse files
committed
fix post increment of aliased variable
fixes #1086
1 parent e548ba4 commit e07d768

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/Peachpie.CodeAnalysis/CodeGen/Graph/BoundExpression.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3958,8 +3958,9 @@ internal override TypeSymbol Emit(CodeGenerator cg)
39583958
{
39593959
// store value of target
39603960
// <temp> = TARGET
3961-
tempvar = cg.GetTemporaryLocal(target_load_type);
39623961
cg.EmitOpCode(ILOpCode.Dup);
3962+
var tempvar_type = cg.EmitDereference(target_load_type);
3963+
tempvar = cg.GetTemporaryLocal(tempvar_type);
39633964
cg.Builder.EmitLocalStore(tempvar);
39643965
}
39653966

@@ -3977,8 +3978,8 @@ internal override TypeSymbol Emit(CodeGenerator cg)
39773978
{
39783979
// store value of result
39793980
// <temp> = TARGET
3980-
tempvar = cg.GetTemporaryLocal(op_type);
39813981
cg.EmitOpCode(ILOpCode.Dup);
3982+
tempvar = cg.GetTemporaryLocal(op_type);
39823983
cg.Builder.EmitLocalStore(tempvar);
39833984
}
39843985

0 commit comments

Comments
 (0)