Browse Source

* properly set 8 byte parameter alignment for first parameter on ARM if
applicable

git-svn-id: trunk@41447 -

Jonas Maebe 6 years ago
parent
commit
bead1f8180
1 changed files with 2 additions and 4 deletions
  1. 2 4
      compiler/arm/cpupara.pas

+ 2 - 4
compiler/arm/cpupara.pas

@@ -512,13 +512,11 @@ unit cpupara;
                            firstparaloc and
                            firstparaloc and
                            (paradef.alignment=8) then
                            (paradef.alignment=8) then
                           begin
                           begin
+                            hp.paraloc[side].Alignment:=8;
                             if (nextintreg in [RS_R1,RS_R3]) then
                             if (nextintreg in [RS_R1,RS_R3]) then
                               inc(nextintreg)
                               inc(nextintreg)
                             else if nextintreg>RS_R3 then
                             else if nextintreg>RS_R3 then
-                              begin
-                                stack_offset:=align(stack_offset,8);
-                                hp.paraloc[side].Alignment:=8;
-                              end;
+                              stack_offset:=align(stack_offset,8);
                           end;
                           end;
                         if nextintreg<=RS_R3 then
                         if nextintreg<=RS_R3 then
                           begin
                           begin