浏览代码

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

git-svn-id: trunk@38902 -

nickysn 7 年之前
父节点
当前提交
80a9dab99a
共有 1 个文件被更改,包括 16 次插入1 次删除
  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;