* fixed previous commit for tp and delphi modes

This commit is contained in:
Jonas Maebe 2003-12-30 16:30:50 +00:00
parent 0afb6fd8ca
commit 3ff00d31b3

View File

@ -74,7 +74,7 @@ implementation
symconst,symtype,symdef,symsym,symtable,defutil,defcmp,
cgbase,
htypechk,pass_1,
nbas,nmat,ncnv,ncon,nset,nopt,ncal,ninl,
nbas,nmat,ncnv,ncon,nset,nopt,ncal,ninl,nmem,
{$ifdef state_tracking}
nstate,
{$endif}
@ -1057,6 +1057,19 @@ implementation
CGMessage(type_e_mismatch);
{ convert both to voidpointer, because methodpointers are 8 bytes }
{ even though only the first 4 bytes must be compared (JM) }
if ([m_delphi,m_tp7] * aktmodeswitches <> []) then
begin
if (lt = loadn) then
begin
left := caddrnode.create(left);
resulttypepass(left);
end;
if (rt = loadn) then
begin
right := caddrnode.create(right);
resulttypepass(right);
end;
end;
inserttypeconv_explicit(left,voidpointertype);
inserttypeconv_explicit(right,voidpointertype);
end
@ -1890,7 +1903,10 @@ begin
end.
{
$Log$
Revision 1.102 2003-12-29 22:33:08 jonas
Revision 1.103 2003-12-30 16:30:50 jonas
* fixed previous commit for tp and delphi modes
Revision 1.102 2003/12/29 22:33:08 jonas
* fixed methodpointer comparing in a generic way (typecast both left and
right explicitly to voidpointer), instead of relying on strange
behvaiour or n386addnode.pass_2 (if size of def = 8, only use the first