Browse Source

+ getparaloc supports now sets and variants

florian 23 years ago
parent
commit
71f7afa9a6
1 changed files with 12 additions and 2 deletions
  1. 12 2
      compiler/powerpc/cpupara.pas

+ 12 - 2
compiler/powerpc/cpupara.pas

@@ -105,6 +105,13 @@ unit cpupara;
               getparaloc:=LOC_REGISTER;
             arraydef:
               getparaloc:=LOC_REFERENCE;
+            setdef:
+              if is_smallset(p) then
+                getparaloc:=LOC_REGISTER
+              else
+                getparaloc:=LOC_REFERENCE;
+            variantdef:
+              getparaloc:=LOC_REFERENCE;
             { avoid problems with errornous definitions }
             errordef:
               getparaloc:=LOC_REGISTER;
@@ -250,7 +257,7 @@ unit cpupara;
                 getfuncretparaloc.register:=R_3;
                 getfuncretparaloc.size:=def_cgsize(p.rettype.def);
                 if getfuncretparaloc.size in [OS_S64,OS_64] then
-                  getfuncretparaloc.registerhigh:=R_4;                 
+                  getfuncretparaloc.registerhigh:=R_4;
               end;
             floatdef:
               begin
@@ -284,7 +291,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.13  2002-09-10 21:28:05  jonas
+  Revision 1.14  2002-09-28 21:27:16  florian
+    + getparaloc supports now sets and variants
+
+  Revision 1.13  2002/09/10 21:28:05  jonas
     * int64 paras are now handled correctly (until the registers are used up
       anyway :)
     * the return location is now initialized correctly