Переглянути джерело

* correctly handle parameters on the stack with OS_NO

git-svn-id: trunk@30756 -
florian 10 роки тому
батько
коміт
d1e48b0f71
1 змінених файлів з 2 додано та 1 видалено
  1. 2 1
      compiler/avr/cpupara.pas

+ 2 - 1
compiler/avr/cpupara.pas

@@ -343,6 +343,7 @@ unit cpupara;
                         else
                           { parameters are always passed completely in registers or in memory on avr }
                           internalerror(2015041002);
+                        dec(paralen,tcgsize2size[paraloc^.size]);
                       end;
                     LOC_REFERENCE:
                       begin
@@ -360,6 +361,7 @@ unit cpupara;
                              paraloc^.reference.offset:=stack_offset;
                              inc(stack_offset,hp.vardef.size);
                           end;
+                        dec(paralen,hp.vardef.size);
                       end;
                     else
                       internalerror(2002071002);
@@ -372,7 +374,6 @@ unit cpupara;
                          inc(paraloc^.reference.offset,2);
                        end;
                    end;
-                 dec(paralen,tcgsize2size[paraloc^.size]);
                  firstparaloc:=false;
                end;
           end;