Skip to content
Snippets Groups Projects
Commit 94ff1ec1 authored by sof's avatar sof
Browse files

[project @ 1999-03-02 17:12:54 by sof]

Directories can now be flagged as containing interface files that have
their corresponding object codes living in Win32 DLLs.

The compiler needs to keep track of whether a name refers to something
in a DLL or not, since Win32 DLLs forces you to distinguish between
the two at the point of use. For example, the code generated for
the following snippet

     return (x+2);

will differ. If 'x' resides in a DLL, you need to perform an extra
indirection to get at its value. Effectively, the generated code
becomes

     return (*x+2);

For functions, the distinction can be made transparent, but we
can avoid jumping through an extra level of indirection if we
do indicate that a label will be imported from a DLL.

Back to the renamer and its scheme, directories that contain
the file ".dLL_ifs.hi" (name chosen to lessen the risk of a clash..)
are considered as containing 'DLL interface files'. There's two
caveats to this scheme:

 - interface files found in "." are not considered to be referring
   to something in a DLL.
 - if the compiler has got -static on the command line, then all
   interface file in scope are considered to be 'normal'.
parent be2b723f
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment