[fpc-devel] circular uses clauses

Daniël Mantione daniel.mantione at freepascal.org
Fri Oct 3 08:57:49 CEST 2008



Op Fri, 3 Oct 2008, schreef Graeme Geldenhuys:

> On Fri, Oct 3, 2008 at 2:31 AM, Joao Morais <post at joaomorais.com.br> wrote:
>>
>> Because a Pascal compiler parses the interface section of an unit only once,
>
> That would make sense. And probably the reason why FPC and Delphi are
> such fast compilers compared to C compilers.

Yes, the interface contains all information the compiler needs to call a 
procedure. Once this is known the compiler can call procedures in a unit 
without having compiled the implementation yet. This is why 
implementations can use each other (a procedure call to a not yet compiled 
unit is no problem), but interfaces cannot (a reference to a type in a not 
yet compiled interface is problematic, because it affects how procedures 
are called).

Daniël


More information about the fpc-devel mailing list