Browse Source

* introduce a case statement, based on the calling convention in i386's
tcpuparamanager.get_saved_registers_int

git-svn-id: trunk@38902 -

nickysn 7 years ago
parent
commit
80a9dab99a
1 changed files with 16 additions and 1 deletions
  1. 16 1
      compiler/i386/cpupara.pas

+ 16 - 1
compiler/i386/cpupara.pas

@@ -291,7 +291,22 @@ unit cpupara;
       const
         saveregs : array[0..3] of tsuperregister = (RS_EBX,RS_ESI,RS_EDI,RS_EBP);
       begin
-        result:=saveregs;
+        case calloption of
+          pocall_internproc,
+          pocall_register,
+          pocall_safecall,
+          pocall_stdcall,
+          pocall_cdecl,
+          pocall_syscall,
+          pocall_cppdecl,
+          pocall_mwpascal,
+          pocall_far16,
+          pocall_pascal,
+          pocall_oldfpccall :
+            result:=saveregs;
+          else
+            internalerror(2018050401);
+        end;
       end;