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

* fixed alignment of dyn. arrays

git-svn-id: trunk@6458 -
florian 18 роки тому
батько
коміт
4575c9f424
1 змінених файлів з 4 додано та 1 видалено
  1. 4 1
      compiler/symdef.pas

+ 4 - 1
compiler/symdef.pas

@@ -2307,8 +2307,11 @@ implementation
 
 
     function tarraydef.alignment : shortint;
     function tarraydef.alignment : shortint;
       begin
       begin
+         { alignment of dyn. arrays doesn't depend on the element size }
+         if (ado_IsDynamicArray in arrayoptions) then
+           alignment:=size_2_align(sizeof(aint))
          { alignment is the size of the elements }
          { alignment is the size of the elements }
-         if (elementdef.typ in [arraydef,recorddef]) or
+         else if (elementdef.typ in [arraydef,recorddef]) or
            ((elementdef.typ=objectdef) and
            ((elementdef.typ=objectdef) and
              is_object(elementdef)) then
              is_object(elementdef)) then
            alignment:=elementdef.alignment
            alignment:=elementdef.alignment