* Force OPR_LOCAL operand into reference whenever subscripting is used, so that all record fields are handled in same way regardless of their offset. Previously, operand was changed to reference only by fields with non-zero offset (see logic in tcgasmnode.ResolveRef method).

git-svn-id: trunk@34911 -
This commit is contained in:
sergei 2016-11-18 05:56:12 +00:00
parent 1e6ee7f3c7
commit d5ffc2da97

View File

@ -1724,8 +1724,9 @@ Unit Rax86int;
(oper.opr.localsym.owner.symtabletype=parasymtable) and
(current_procinfo.procdef.proccalloption<>pocall_register) then
Message(asmr_e_cannot_access_field_directly_for_parameters);
inc(oper.opr.localsymofs,toffset);
oper.opr.localforceref:=true;
inc(oper.opr.localsymofs,toffset);
oper.opr.localvarsize := tsize;
end;
OPR_CONSTANT :