From a0c611cbb5da3c0fb4c55a1b034074c4438e096a Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 22 Dec 2003 22:15:43 +0000 Subject: [PATCH] * deref implementation after implementation units are loaded and numbered --- compiler/fppu.pas | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/compiler/fppu.pas b/compiler/fppu.pas index 563b113f6d..64f6cc8a0b 100644 --- a/compiler/fppu.pas +++ b/compiler/fppu.pas @@ -867,7 +867,6 @@ uses procedure tppumodule.load_implementation; var b : byte; - oldobjectlibrary : tasmlibrarydata; begin { read implementation part } repeat @@ -883,18 +882,6 @@ uses Message1(unit_f_ppu_invalid_entry,tostr(b)); end; until false; - - { we can now derefence all pointers to the implementation parts } - oldobjectlibrary:=objectlibrary; - objectlibrary:=librarydata; - aktglobalsymtable:=tstoredsymtable(globalsymtable); - tstoredsymtable(globalsymtable).derefimpl; - if assigned(localsymtable) then - begin - aktstaticsymtable:=tstoredsymtable(localsymtable); - tstoredsymtable(localsymtable).derefimpl; - end; - objectlibrary:=oldobjectlibrary; end; @@ -1139,6 +1126,7 @@ uses var pu : tused_unit; load_refs : boolean; + oldobjectlibrary : tasmlibrarydata; begin if current_module<>self then internalerror(200212284); @@ -1213,6 +1201,18 @@ uses end; numberunits; + { we can now derefence all pointers to the implementation parts } + oldobjectlibrary:=objectlibrary; + objectlibrary:=librarydata; + aktglobalsymtable:=tstoredsymtable(globalsymtable); + tstoredsymtable(globalsymtable).derefimpl; + if assigned(localsymtable) then + begin + aktstaticsymtable:=tstoredsymtable(localsymtable); + tstoredsymtable(localsymtable).derefimpl; + end; + objectlibrary:=oldobjectlibrary; + { load browser info if stored } if ((flags and uf_has_browser)<>0) and load_refs then begin @@ -1507,7 +1507,11 @@ uses end. { $Log$ - Revision 1.48 2003-12-14 18:13:18 peter + Revision 1.49 2003-12-22 22:15:43 peter + * deref implementation after implementation units are loaded and + numbered + + Revision 1.48 2003/12/14 18:13:18 peter * also check currnet dir when searching source files Revision 1.47 2003/11/28 17:23:16 peter