|
@@ -74,7 +74,7 @@ implementation
|
|
symconst,symtype,symdef,symsym,symtable,defutil,defcmp,
|
|
symconst,symtype,symdef,symsym,symtable,defutil,defcmp,
|
|
cgbase,
|
|
cgbase,
|
|
htypechk,pass_1,
|
|
htypechk,pass_1,
|
|
- nbas,nmat,ncnv,ncon,nset,nopt,ncal,ninl,
|
|
|
|
|
|
+ nbas,nmat,ncnv,ncon,nset,nopt,ncal,ninl,nmem,
|
|
{$ifdef state_tracking}
|
|
{$ifdef state_tracking}
|
|
nstate,
|
|
nstate,
|
|
{$endif}
|
|
{$endif}
|
|
@@ -1057,6 +1057,19 @@ implementation
|
|
CGMessage(type_e_mismatch);
|
|
CGMessage(type_e_mismatch);
|
|
{ convert both to voidpointer, because methodpointers are 8 bytes }
|
|
{ convert both to voidpointer, because methodpointers are 8 bytes }
|
|
{ even though only the first 4 bytes must be compared (JM) }
|
|
{ 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(left,voidpointertype);
|
|
inserttypeconv_explicit(right,voidpointertype);
|
|
inserttypeconv_explicit(right,voidpointertype);
|
|
end
|
|
end
|
|
@@ -1890,7 +1903,10 @@ begin
|
|
end.
|
|
end.
|
|
{
|
|
{
|
|
$Log$
|
|
$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
|
|
* fixed methodpointer comparing in a generic way (typecast both left and
|
|
right explicitly to voidpointer), instead of relying on strange
|
|
right explicitly to voidpointer), instead of relying on strange
|
|
behvaiour or n386addnode.pass_2 (if size of def = 8, only use the first
|
|
behvaiour or n386addnode.pass_2 (if size of def = 8, only use the first
|