Browse Source

- rm the i386 specific code from ti8086paramanager.ret_in_param

git-svn-id: branches/i8086@24239 -
nickysn 12 years ago
parent
commit
8ce2f0c56b
1 changed files with 0 additions and 51 deletions
  1. 0 51
      compiler/i8086/cpupara.pas

+ 0 - 51
compiler/i8086/cpupara.pas

@@ -98,57 +98,6 @@ unit cpupara;
       begin
       begin
         if handle_common_ret_in_param(def,pd,result) then
         if handle_common_ret_in_param(def,pd,result) then
           exit;
           exit;
-        case target_info.system of
-          system_i386_win32 :
-            begin
-              case def.typ of
-                recorddef :
-                  begin
-                    { Win32 GCC returns small records in the FUNCTION_RETURN_REG up to 8 bytes in registers.
-
-                      For stdcall and register we follow delphi instead of GCC which returns
-                      only records of a size of 1,2 or 4 bytes in FUNCTION_RETURN_REG }
-                    if ((pd.proccalloption in [pocall_stdcall,pocall_register]) and
-                        (def.size in [1,2,4])) or
-                       ((pd.proccalloption in [pocall_cdecl,pocall_cppdecl]) and
-                        (def.size>0) and
-                        (def.size<=8)) then
-                     begin
-                       result:=false;
-                       exit;
-                     end;
-                  end;
-              end;
-            end;
-          system_i386_freebsd,
-          system_i386_openbsd,
-          system_i386_darwin,
-          system_i386_iphonesim :
-            begin
-              if pd.proccalloption in cdecl_pocalls then
-                begin
-                  case def.typ of
-                    recorddef :
-                      begin
-                        size:=def.size;
-                        if (size>0) and
-                           (size<=8) and
-                           { only if size is a power of 2 }
-                           ((size and (size-1)) = 0) then
-                          begin
-                            result:=false;
-                            exit;
-                          end;
-                      end;
-                    procvardef:
-                      begin
-                        result:=false;
-                        exit;
-                      end;
-                  end;
-              end;
-            end;
-        end;
 
 
         { 64-bit types are returned as a parameter pointer, since putting them
         { 64-bit types are returned as a parameter pointer, since putting them
           in registers would require 4 registers on the i8086 }
           in registers would require 4 registers on the i8086 }