archiving block data subroutines...

Doug Scofield doog at travis.ssd.csd.harris.com
Tue Oct 23 02:01:32 AEST 1990


)From article <>, by burley at world.std.com (James C Burley):
)) In article <> jeffb at aquifer.las.uiuc.edu (Jeffrey Biesiadecki) writes:
))
)) [ user wishes linker to pull block data from library ]
)
) [ suggests using the EXTERNAL keyword to cause an external reference, ]
) [ which would in theory include the block data subprogram             ]
)
) ... However, be aware that some nonconforming
) implementations of Fortran might do the wrong thing ...

Actually, implementations may do whatever they want in this case.  
Block data subprogram names are defined to be global to the 
execution unit (16.1), and block data names are allowed in EXTERNAL
statements (8.7), but no functional use is described.  In fact, this
is explicitly stated in (B16): 

     The name of a block data subprogram has no explicit use within 
     the FORTRAN language.  It is available for documentation and 
     for possible use within a computer environment.

This "possible use" would include what you require.  An innocuous
global definition of the block data name would be required in the 
block data object, and a global reference would be generated within 
the source object.  Some vendors may be hesitant to do the latter, 
as it requires generating a dummy reference for every unused 
EXTERNAL name.

--
doug scofield                    doog at ssd.csd.harris.com  (preferred)
harris computer systems                  uunet!hcx1!doog



More information about the Comp.sys.sgi mailing list