Browse Source

x86-64: properly set parameter alignment if not default

Jonas Maebe 3 years ago
parent
commit
d5a50eee8a
1 changed files with 1 additions and 0 deletions
  1. 1 0
      compiler/x86_64/cpupara.pas

+ 1 - 0
compiler/x86_64/cpupara.pas

@@ -1707,6 +1707,7 @@ unit cpupara;
               begin
               begin
                 getvalueparaloc(p.proccalloption,hp.varspez,paralocdef,loc);
                 getvalueparaloc(p.proccalloption,hp.varspez,paralocdef,loc);
                 paralen:=push_size(hp.varspez,paralocdef,p.proccalloption);
                 paralen:=push_size(hp.varspez,paralocdef,p.proccalloption);
+                paraalign:=max(paraalign,paradef.alignment);
                 if p.proccalloption = pocall_vectorcall then
                 if p.proccalloption = pocall_vectorcall then
                   begin
                   begin
                     { TODO: Can this set of instructions be put into 'defutil' without it relying on the argument classification? [Kit] }
                     { TODO: Can this set of instructions be put into 'defutil' without it relying on the argument classification? [Kit] }