Browse Source

Fix failures in rtlppulogs

git-svn-id: trunk@37206 -
pierre 8 years ago
parent
commit
6a09a68156
1 changed files with 11 additions and 11 deletions
  1. 11 11
      compiler/utils/ppuutils/ppudump.pp

+ 11 - 11
compiler/utils/ppuutils/ppudump.pp

@@ -2902,6 +2902,7 @@ procedure readdefinitions(const s:string; ParentDef: TPpuContainerDef);
 { type thelpertype is in symconst unit }
 var
   b : byte;
+  otb : byte; { Object Type byte, needed later again }
   l,j,tokenbufsize : longint;
   tokenbuf : pbyte;
   calloption : tproccalloption;
@@ -3356,9 +3357,9 @@ begin
              writeln([space,'   Import lib/pkg : ',getstring]);
              write  ([space,'          Options : ']);
              readobjectdefoptions(objdef);
-             b:=getbyte;
+             otb:=getbyte;
              write  ([space,'             Type : ']);
-             case tobjecttyp(b) of
+             case tobjecttyp(otb) of
                odt_class          : writeln('class');
                odt_object         : writeln('object');
                odt_interfacecom   : writeln('interfacecom');
@@ -3373,7 +3374,7 @@ begin
                odt_interfacejava  : writeln('Java interface');
                else                 WriteWarning('Invalid object type: ' + IntToStr(b));
              end;
-             case tobjecttyp(b) of
+             case tobjecttyp(otb) of
                odt_class, odt_cppclass, odt_objcclass, odt_javaclass:
                  objdef.ObjType:=otClass;
                odt_object:
@@ -3404,7 +3405,7 @@ begin
              write  ([space,  '   Ancestor Class : ']);
              readderef('',objdef.Ancestor);
 
-             if tobjecttyp(b) in [odt_interfacecom,odt_interfacecorba,odt_dispinterface] then
+             if tobjecttyp(otb) in [odt_interfacecom,odt_interfacecorba,odt_dispinterface] then
                begin
                   { IIDGUID }
                   for j:=1to 16 do
@@ -3418,7 +3419,7 @@ begin
                objdef.Options:=objdef.Options + [ooAbstractMethods];
              writeln([space,' Abstract methods : ',l]);
 
-             if tobjecttyp(b)=odt_helper then
+             if tobjecttyp(otb)=odt_helper then
                begin
                  write([space,'    Helper parent : ']);
                  readderef('',objdef.HelperParent);
@@ -3434,7 +3435,7 @@ begin
                  readvisibility;
                end;
 
-             if tobjecttyp(b) in [odt_class,odt_objcclass,odt_objcprotocol,odt_javaclass,odt_interfacejava] then
+             if tobjecttyp(otb) in [odt_class,odt_objcclass,odt_objcprotocol,odt_javaclass,odt_interfacejava] then
               begin
                 l:=getlongint;
                 writeln([space,'  Impl Intf Count : ',l]);
@@ -3454,11 +3455,8 @@ begin
                  Include(objdef.Options, ooCopied);
                  writeln('  Copy of def: ');
                  readderef('',objdef.Ancestor);
-               end;
-
-             if not EndOfEntry then
-               HasMoreInfos;
-             if not(df_copied_def in current_defoptions) then
+               end
+             else
                begin
                  {read the record definitions and symbols}
                  space:='    '+space;
@@ -3466,6 +3464,8 @@ begin
                  readsymtable('fields',objdef);
                  Delete(space,1,4);
               end;
+             if not EndOfEntry then
+               HasMoreInfos;
            end;
 
          ibfiledef :