Ver código fonte

* MIPS: methodpointers must be compatible with records; since records are never passed by address in this ABI, so must be methodpointers. Fixes webtbs/tw9141.pp.

git-svn-id: trunk@23392 -
sergei 12 anos atrás
pai
commit
b35d04ffa8
1 arquivos alterados com 3 adições e 1 exclusões
  1. 3 1
      compiler/mips/cpupara.pas

+ 3 - 1
compiler/mips/cpupara.pas

@@ -189,7 +189,8 @@ implementation
           stringdef :
             result:=(tstringdef(def).stringtype in [st_shortstring,st_longstring]);
           procvardef :
-            result:=not tprocvardef(def).is_addressonly;
+            { If we always push records by value, we have to handle methodpointers that way too. }
+            result:=false; {not tprocvardef(def).is_addressonly;}
           setdef :
             result:=not(is_smallset(def));
         end;
@@ -346,6 +347,7 @@ implementation
               alignment := 8
             else
               alignment := 4;
+            //writeln('para: ',hp.Name,' typ=',hp.vardef.typ,' paracgsize=',paracgsize,' align=',hp.vardef.alignment);
             hp.paraloc[side].reset;
             hp.paraloc[side].Alignment:=alignment;
             if paracgsize=OS_NO then