Browse Source

* syscall with sysv abi for morphos

peter 20 years ago
parent
commit
fad0e529a4
2 changed files with 15 additions and 4 deletions
  1. 4 3
      compiler/pdecsub.pas
  2. 11 1
      compiler/powerpc/cpupara.pas

+ 4 - 3
compiler/pdecsub.pas

@@ -1206,8 +1206,6 @@ begin
 {$ifdef powerpc}
    if target_info.system in [system_powerpc_morphos,system_m68k_amiga] then
     begin
-      pd.has_paraloc_info:=true;
-      include(pd.procoptions,po_explicitparaloc);
       if consume_sym(sym,symtable) then
         begin
           if (sym.typ=globalvarsym) and
@@ -2348,7 +2346,10 @@ const
 end.
 {
   $Log$
-  Revision 1.219  2004-12-15 16:00:16  peter
+  Revision 1.220  2004-12-15 19:30:32  peter
+    * syscall with sysv abi for morphos
+
+  Revision 1.219  2004/12/15 16:00:16  peter
     * external is again allowed in implementation
 
   Revision 1.218  2004/12/07 16:11:52  peter

+ 11 - 1
compiler/powerpc/cpupara.pas

@@ -347,6 +347,13 @@ unit cpupara;
           for i:=0 to paras.count-1 do
             begin
               hp:=tparavarsym(paras[i]);
+              { Syscall for Morphos can have already a paraloc set }
+              if (vo_has_explicit_paraloc in hp.varoptions) then
+                begin
+                  if not(vo_is_syscall_lib in hp.varoptions) then
+                    internalerror(200412153);
+                  continue;
+                end;
               hp.paraloc[side].reset;
               { currently only support C-style array of const }
               if (p.proccalloption in [pocall_cdecl,pocall_cppdecl]) and
@@ -599,7 +606,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.75  2004-12-04 21:47:46  jonas
+  Revision 1.76  2004-12-15 19:30:32  peter
+    * syscall with sysv abi for morphos
+
+  Revision 1.75  2004/12/04 21:47:46  jonas
     * modifications to work with the generic code to copy LOC_REFERENCE
       parameters to local temps (fixes tests/test/cg/tmanypara)