<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Peter via fpc-pascal <<a href="mailto:fpc-pascal@lists.freepascal.org">fpc-pascal@lists.freepascal.org</a>> schrieb am Fr., 11. März 2022, 13:47:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I had a look at the assembler generated by 3.3.1<br>
<br>
.....<br>
<br>
# Var uix located in stack [rsp+83240]<br>
movl %edx,%eax<br>
movq %rax,83280(%rsp)<br>
# Var AttackLoc *located in stack [rsp+83280]*<br>
# [503] var<br>
<br>
.....<br>
<br>
# [587] TestLoc := AttackLoc;<br>
*movl 83280(%rsp),%r14d* # <<--------------********<br>
# Var AttackLoc *located in register r14d*<br>
movl %r14d,24(%rsp)<br>
.....<br>
<br>
<br>
AttackLoc location is changed to a register as before, but here it is actually moved with a movl.<br>
It seems the bug is caused by the absence of this movl instruction.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">If we could find out which revision fixed it we could merge that to 3.2.3 as well... </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div></div></div>