mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-11 04:58:06 +02:00
The sources of the Free Pascal compiler, RTL, packages and utilities.
See https://www.freepascal.org/ for more info.
![]() To correctly generate the import library for a package we need to resolve the dangling external symbols of all units. For this each unit now stores which symbols it exported from another unit and it also stores all global and external assembler symbols it has (maybe this can be streamlined later on, but for now this works). entfile.pas: + new entry for the imported unit symbols fmodule.pas, tmodule: + new field unitimportsyms which holds all symbols imported by a unit from another unit + new method to add an imported symbol * create, destroy & reset: correctly instantiate/free the two new lists fppu.pas, tppumodule: + new field unitimportsymsderefs to hold the derefs during loading from/storing to PPU + new method buildderefunitimportsyms to generate the derefs for each imported symbol + new method derefunitimportsyms to resolve each imported symbol deref + new method readunitimportsyms to read the imported symbols from the PPU + new method writeunitimportsyms to write all imported symbols to the PPU * load_implementation: read the imported symbols if their entry is encountered * writeppu: generate the derefs for the imported symbols and write them to the PPU * load_usedunits: resolve the imported symbols once all derefs are known symtable.pas: * addsymref: if the symbol is not from the current unit than mark it as imported ppu.pas: * increase PPU version -- Diese und die folgenden Zeilen werden ignoriert -- M entfile.pas M fmodule.pas M fppu.pas M ppu.pas M symtable.pas git-svn-id: trunk@33492 - |
||
---|---|---|
compiler | ||
ide | ||
installer | ||
packages | ||
rtl | ||
tests | ||
utils | ||
.gitattributes | ||
.gitignore | ||
fpmake_add1.inc | ||
fpmake_proc1.inc | ||
fpmake.pp | ||
Makefile | ||
Makefile.fpc |