Browse Source

* fixed C alignment of array of record (merged)

peter 25 years ago
parent
commit
a9510fdde7
1 changed files with 9 additions and 3 deletions
  1. 9 3
      compiler/symdef.inc

+ 9 - 3
compiler/symdef.inc

@@ -1968,7 +1968,10 @@
     function tarraydef.alignment : longint;
     function tarraydef.alignment : longint;
       begin
       begin
          { alignment is the size of the elements }
          { alignment is the size of the elements }
-         alignment:=elesize;
+         if elementtype.def^.deftype=recorddef then
+          alignment:=elementtype.def^.alignment
+         else
+          alignment:=elesize;
       end;
       end;
 
 
 
 
@@ -4257,7 +4260,10 @@ Const local_symtable_index : longint = $8001;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.14  2000-08-27 20:19:39  peter
+  Revision 1.15  2000-09-09 18:36:40  peter
+    * fixed C alignment of array of record (merged)
+
+  Revision 1.14  2000/08/27 20:19:39  peter
     * store strings with case in ppu, when an internal symbol is created
     * store strings with case in ppu, when an internal symbol is created
       a '$' is prefixed so it's not automatic uppercased
       a '$' is prefixed so it's not automatic uppercased
 
 
@@ -4309,4 +4315,4 @@ Const local_symtable_index : longint = $8001;
   Revision 1.2  2000/07/13 11:32:49  michael
   Revision 1.2  2000/07/13 11:32:49  michael
   + removed logs
   + removed logs
 
 
-}
+}