m68k/n68kcnv.pas, tm68ktypeconvnode.second_int_to_bool:

* remove comments regarding needed LOC_JUMP implementation
* don't call flags2reg if the location is LOC_JUMP as there isn't a register to set the flags to
  (this allows fpc_mul_qword and fpc_mul_int64 to be assembled)

git-svn-id: trunk@22731 -
This commit is contained in:
svenbarth 2012-10-18 20:10:56 +00:00
parent d91fbd3e10
commit 9402a068a5

View File

@ -171,8 +171,6 @@ implementation
secondpass(left);
{ TODO: needs LOC_JUMP support, because called for bool_to_bool from ncgcnv }
{ Explicit typecasts from any ordinal type to a boolean type }
{ must not change the ordinal value }
if (nf_explicit in flags) and
@ -186,10 +184,8 @@ implementation
hlcg.location_force_reg(current_asmdata.CurrAsmList,location,left.resultdef,resultdef,true)
else
location.size:=newsize;
{ ACTIVATE when loc_jump support is added }
current_procinfo.CurrTrueLabel:=oldTrueLabel;
current_procinfo.CurrFalseLabel:=oldFalseLabel;
//}
exit;
end;
@ -248,10 +244,15 @@ implementation
else
internalerror(200512182);
end;
cg.g_flags2reg(current_asmdata.CurrAsmList,location.size,resflags,hreg1);
if (is_cbool(resultdef)) then
cg.a_op_reg_reg(current_asmdata.CurrAsmList,OP_NEG,location.size,hreg1,hreg1);
location.register := hreg1;
if left.location.loc<>LOC_JUMP then
begin
cg.g_flags2reg(current_asmdata.CurrAsmList,location.size,resflags,hreg1);
if (is_cbool(resultdef)) then
cg.a_op_reg_reg(current_asmdata.CurrAsmList,OP_NEG,location.size,hreg1,hreg1);
location.register := hreg1;
end;
current_procinfo.CurrTrueLabel:=oldTrueLabel;
current_procinfo.CurrFalseLabel:=oldFalseLabel;
end;
{