Go to the first, previous, next, last section, table of contents.
g77
doesn't allow a common block and an external procedure or
BLOCK DATA
to have the same name.
Some systems allow this, but g77
does not,
to be compatible with f2c
.
g77
could special-case the way it handles
BLOCK DATA
, since it is not compatible with f2c
in this
particular area (necessarily, since g77
offers an
important feature here), but
it is likely that such special-casing would be very annoying to people
with programs that use `EXTERNAL FOO', with no other mention of
`FOO' in the same program unit, to refer to external procedures, since
the result would be that g77
would treat these references as requests to
force-load BLOCK DATA program units.
In that case, if g77
modified
names of BLOCK DATA
so they could have the same names as
COMMON
, users
would find that their programs wouldn't link because the `FOO' procedure
didn't have its name translated the same way.
(Strictly speaking,
g77
could emit a null-but-externally-satisfying definition of
`FOO' with its name transformed as if it had been a
BLOCK DATA
, but that probably invites more trouble than it's
worth.)
Go to the first, previous, next, last section, table of contents.