* actually the important part of r12120 containing the compiler change

git-svn-id: trunk@12121 -
This commit is contained in:
florian 2008-11-16 14:08:31 +00:00
parent 706f8085f4
commit a0939ad9d6

View File

@ -2498,14 +2498,13 @@ implementation
(left.resultdef.size=resultdef.size) and (left.resultdef.size=resultdef.size) and
(left.expectloc in [LOC_REFERENCE,LOC_CREFERENCE,LOC_CREGISTER]) then (left.expectloc in [LOC_REFERENCE,LOC_CREFERENCE,LOC_CREGISTER]) then
exit; exit;
{ when converting 64bit int to C-ctyle boolean, first convert to a 32bit int and then } { when converting 64bit int to C-ctyle boolean, first convert to an int32 and then }
{ convert to a boolean (only necessary for 32bit processors) } { convert to a boolean (only necessary for 32bit processors) }
if (left.resultdef.size > sizeof(aint)) and (left.resultdef.size<>resultdef.size) if (left.resultdef.size > sizeof(aint)) and (left.resultdef.size<>resultdef.size)
and is_cbool(resultdef) then and is_cbool(resultdef) then
begin begin
result := ctypeconvnode.create_internal(left,s32inttype); left:=ctypeconvnode.create_internal(left,s32inttype);
left := nil; firstpass(left);
firstpass(result);
exit; exit;
end; end;
expectloc:=LOC_REGISTER; expectloc:=LOC_REGISTER;