Browse Source

Remember change_endian from ppufile for generictokenbuf reading

git-svn-id: trunk@19011 -
pierre 14 years ago
parent
commit
9073beffec
1 changed files with 6 additions and 0 deletions
  1. 6 0
      compiler/symdef.pas

+ 6 - 0
compiler/symdef.pas

@@ -61,6 +61,9 @@ interface
           genericdef      : tstoreddef;
           genericdef      : tstoreddef;
           genericdefderef : tderef;
           genericdefderef : tderef;
           generictokenbuf : tdynamicarray;
           generictokenbuf : tdynamicarray;
+          { Set if PPU was generated with another
+            endianess as current compiler or ppudump utils }
+          change_endian   : boolean;
           constructor create(dt:tdeftyp);
           constructor create(dt:tdeftyp);
           constructor ppuload(dt:tdeftyp;ppufile:tcompilerppufile);
           constructor ppuload(dt:tdeftyp;ppufile:tcompilerppufile);
           destructor  destroy;override;
           destructor  destroy;override;
@@ -1119,6 +1122,8 @@ implementation
 {$endif}
 {$endif}
          generictokenbuf:=nil;
          generictokenbuf:=nil;
          genericdef:=nil;
          genericdef:=nil;
+         change_endian:=false;
+
          { Don't register forwarddefs, they are disposed at the
          { Don't register forwarddefs, they are disposed at the
            end of an type block }
            end of an type block }
          if (dt=forwarddef) then
          if (dt=forwarddef) then
@@ -1175,6 +1180,7 @@ implementation
          if df_generic in defoptions then
          if df_generic in defoptions then
            begin
            begin
              sizeleft:=ppufile.getlongint;
              sizeleft:=ppufile.getlongint;
+             change_endian:=ppufile.change_endian;
              initgeneric;
              initgeneric;
              while sizeleft>0 do
              while sizeleft>0 do
                begin
                begin