mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 23:09:18 +02:00
* fixed opsize for assignment with LOC_JUMP
This commit is contained in:
parent
b6d8dca442
commit
2f3b205358
@ -780,29 +780,28 @@ implementation
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
LOC_JUMP : begin
|
LOC_JUMP : begin
|
||||||
|
opsize:=def_opsize(left.resulttype.def);
|
||||||
getlabel(hlabel);
|
getlabel(hlabel);
|
||||||
emitlab(truelabel);
|
emitlab(truelabel);
|
||||||
if pushed then
|
if pushed then
|
||||||
restore(left,false);
|
restore(left,false);
|
||||||
if loc=LOC_CREGISTER then
|
if loc=LOC_CREGISTER then
|
||||||
emit_const_reg(A_MOV,S_B,
|
emit_const_reg(A_MOV,opsize,
|
||||||
1,left.location.register)
|
1,left.location.register)
|
||||||
else
|
else
|
||||||
emit_const_ref(A_MOV,S_B,
|
emit_const_ref(A_MOV,opsize,
|
||||||
1,newreference(left.location.reference));
|
1,newreference(left.location.reference));
|
||||||
{emit_const_loc(A_MOV,S_B,
|
|
||||||
1,left.location);}
|
|
||||||
emitjmp(C_None,hlabel);
|
emitjmp(C_None,hlabel);
|
||||||
emitlab(falselabel);
|
emitlab(falselabel);
|
||||||
if pushed then
|
if pushed then
|
||||||
restore(left,false);
|
restore(left,false);
|
||||||
if loc=LOC_CREGISTER then
|
if loc=LOC_CREGISTER then
|
||||||
emit_reg_reg(A_XOR,S_B,
|
emit_reg_reg(A_XOR,opsize,
|
||||||
left.location.register,
|
left.location.register,
|
||||||
left.location.register)
|
left.location.register)
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
emit_const_ref(A_MOV,S_B,
|
emit_const_ref(A_MOV,opsize,
|
||||||
0,newreference(left.location.reference));
|
0,newreference(left.location.reference));
|
||||||
{$IfDef regallocfix}
|
{$IfDef regallocfix}
|
||||||
del_reference(left.location.reference);
|
del_reference(left.location.reference);
|
||||||
@ -1073,7 +1072,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.14 2001-05-27 14:30:56 florian
|
Revision 1.15 2001-07-28 15:13:17 peter
|
||||||
|
* fixed opsize for assignment with LOC_JUMP
|
||||||
|
|
||||||
|
Revision 1.14 2001/05/27 14:30:56 florian
|
||||||
+ some widestring stuff added
|
+ some widestring stuff added
|
||||||
|
|
||||||
Revision 1.13 2001/04/13 01:22:19 peter
|
Revision 1.13 2001/04/13 01:22:19 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user