Browse Source

+ added method tabstractprocdef.is_pushleftright that exists on all platforms and returns whether parameters must be loaded left to right

git-svn-id: branches/i8086@24281 -
nickysn 12 years ago
parent
commit
5caadbbc40
1 changed files with 10 additions and 0 deletions
  1. 10 0
      compiler/symdef.pas

+ 10 - 0
compiler/symdef.pas

@@ -494,6 +494,7 @@ interface
           procedure check_mark_as_nested;
           procedure check_mark_as_nested;
           procedure init_paraloc_info(side: tcallercallee);
           procedure init_paraloc_info(side: tcallercallee);
           function stack_tainting_parameter(side: tcallercallee): boolean;
           function stack_tainting_parameter(side: tcallercallee): boolean;
+          function is_pushleftright: boolean;
        private
        private
           procedure count_para(p:TObject;arg:pointer);
           procedure count_para(p:TObject;arg:pointer);
           procedure insert_para(p:TObject;arg:pointer);
           procedure insert_para(p:TObject;arg:pointer);
@@ -4064,6 +4065,15 @@ implementation
             end;
             end;
       end;
       end;
 
 
+    function tabstractprocdef.is_pushleftright: boolean;
+      begin
+{$if defined(i8086) or defined(i386)}
+        result:=proccalloption in pushleftright_pocalls;
+{$else}
+        result:=false;
+{$endif}
+      end;
+