Sfoglia il codice sorgente

fcl-passrc: resolver: fixed unit without implementation

mattias 4 anni fa
parent
commit
648a86be7e

+ 2 - 1
compiler/packages/fcl-passrc/src/pasresolver.pp

@@ -5830,7 +5830,8 @@ begin
     begin
     // unit
     FinishSection(CurModule.InterfaceSection);
-    FinishSection(CurModule.ImplementationSection);
+    if CurModule.ImplementationSection<>nil then
+      FinishSection(CurModule.ImplementationSection);
     if CurModule.FinalizationSection<>nil then
       // finalization section finished -> resolve
       ResolveImplBlock(CurModule.FinalizationSection);

+ 1 - 0
compiler/packages/fcl-passrc/src/pasuseanalyzer.pas

@@ -2680,6 +2680,7 @@ begin
   {$IFDEF VerbosePasAnalyzer}
   writeln('TPasAnalyzer.EmitSectionHints ',GetElModName(Section));
   {$ENDIF}
+  if Section=nil then exit;
   // initialization, program or library sections
   aModule:=Section.GetModule;
   UsesClause:=Section.UsesClause;