GNU Fortran currently generates code that is object-compatible with
Also, it avoids limitations in the current GBE, such as the
inability to generate a procedure with
multiple entry points, by generating code that is structured
differently (in terms of procedure names, scopes, arguments, and
so on) than might be expected.
As a result, writing code in other languages that calls on, is
called by, or shares in-memory data with
g77-compiled code generally
requires some understanding of the way
g77 compiles code for
Similarly, using a debugger to debug
code, even if that debugger supports native Fortran debugging, generally
requires this sort of information.
This section describes some of the basic information on how
g77 compiles code for constructs involving interfaces to other
languages and to debuggers.
Caution: Much or all of this information pertains to only the current
g77, sometimes even to using certain compiler options
g77 (such as
Do not write code that depends on this
information without clearly marking said code as nonportable and
subject to review for every new release of
is provided primarily to make debugging of code generated by this
particular release of
g77 easier for the user, and partly to make
writing (generally nonportable) interface code easier.
Both of these
activities require tracking changes in new version of
g77 as they
are installed, because new versions can change the behaviors
described in this section.