(j3.2006) Alternative binding label without C interoperability?
Van Snyder
Van.Snyder
Fri Sep 30 18:06:12 EDT 2016
On Fri, 2016-09-30 at 13:20 +0000, Clune, Thomas L. (GSFC-6101) wrote:
>
> > The point is that BIND(C,NAME=anything but '') gives the module procedure a
> > global identifier. This really makes it like a "special" external procedure
> > that despite being external can still access the module's private parts.
>
> Yes. This is actually what I want in my particular case.
I have been asked about the ability to use module procedures that don't
meet the requirements of 18.3.7 using dymamic loading. In particular,
polymorphic arguments and results, arguments (polymorphic or not) with
type-bound procedures, and coarray arguments. Some but not all of the
restrictions can be finessed using C_PTR. It would be helpful to be
able to give a global name to a module procedure, and not have the
restrictions of 18.3.7.
Discovering the "global" name of a module procedure that is invented by
name mangling to satisfy the requirements of the loader probably isn't
enough. Maybe if you require the input that specifies the name of the
procedure also specifies the name of the module, and you give both the
module name and the procedure name to an intrinsic function (or a
function in an intrinsic module) that gives a name by which it would be
known in a dynamic library, that could be made to work.
More information about the J3
mailing list