Browse Source

+ align RTTI tables

carl 23 years ago
parent
commit
53aa63ead1
2 changed files with 14 additions and 2 deletions
  1. 8 1
      compiler/symdef.pas
  2. 6 1
      compiler/symsym.pas

+ 8 - 1
compiler/symdef.pas

@@ -723,6 +723,7 @@ implementation
        { global }
        verbose,
        { target }
+       aasmcpu,
        systems,
        { symtable }
        symsym,symtable,paramgr,
@@ -1098,6 +1099,7 @@ implementation
                write_child_rtti_data(rt);
                if (cs_create_smart in aktmoduleswitches) then
                 rttiList.concat(Tai_cut.Create);
+               rttiList.concat(Tai_align.create(const_align(pointer_size)));
                rttiList.concat(Tai_symbol.Create(localrttilab[rt],0));
                write_rtti_data(rt);
                rttiList.concat(Tai_symbol_end.Create(localrttilab[rt]));
@@ -4881,12 +4883,14 @@ implementation
          symtable.foreach({$ifdef FPC}@{$endif}count_published_fields,nil);
          if (cs_create_smart in aktmoduleswitches) then
           rttiList.concat(Tai_cut.Create);
+         rttilist.concat(tai_align.create(const_align(pointer_size)));
          rttiList.concat(Tai_label.Create(fieldtable));
          rttiList.concat(Tai_const.Create_16bit(count));
          rttiList.concat(Tai_const_symbol.Create(classtable));
          symtable.foreach({$ifdef FPC}@{$endif}writefields,nil);
 
          { generate the class table }
+         rttilist.concat(tai_align.create(const_align(pointer_size)));
          rttiList.concat(Tai_label.Create(classtable));
          rttiList.concat(Tai_const.Create_16bit(tablecount));
          hp:=tclasslistitem(classtablelist.first);
@@ -5459,7 +5463,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.100  2002-10-19 15:09:25  peter
+  Revision 1.101  2002-11-09 15:31:02  carl
+    + align RTTI tables
+
+  Revision 1.100  2002/10/19 15:09:25  peter
     + tobjectdef.members_need_inittable that is used to generate only the
       inittable when it is really used. This saves a lot of useless calls
       to fpc_finalize when destroying classes

+ 6 - 1
compiler/symsym.pas

@@ -2455,6 +2455,7 @@ implementation
            def.write_child_rtti_data(fullrtti);
            if (cs_create_smart in aktmoduleswitches) then
             rttiList.concat(Tai_cut.Create);
+           rttilist.concat(tai_align.create(const_align(pointer_size)));
            rttiList.concat(Tai_symbol.Create(rsym.get_label,0));
            def.write_rtti_data(fullrtti);
            rttiList.concat(Tai_symbol_end.Create(rsym.get_label));
@@ -2493,6 +2494,7 @@ implementation
            def.write_child_rtti_data(initrtti);
            if (cs_create_smart in aktmoduleswitches) then
             rttiList.concat(Tai_cut.Create);
+           rttilist.concat(tai_align.create(const_align(pointer_size)));
            rttiList.concat(Tai_symbol.Create(rsym.get_label,0));
            def.write_rtti_data(initrtti);
            rttiList.concat(Tai_symbol_end.Create(rsym.get_label));
@@ -2504,7 +2506,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.70  2002-10-13 21:33:37  peter
+  Revision 1.71  2002-11-09 15:30:07  carl
+    + align RTTI tables
+
+  Revision 1.70  2002/10/13 21:33:37  peter
     * give correct fileposition for undefined forward procs
 
   Revision 1.69  2002/10/05 12:43:29  carl