(j3.2006) Intrinsic modules

Van Snyder van.snyder
Mon Nov 23 01:53:44 EST 2009

Kurt W Hirchert wrote:
> Although there are ways a vendor could justify providing a switch to 
> reverse this rule, the bottom line is there probably isn't enough 
> demand (and money) to get even one vendor to implement such a switch, 
> let alone make it common enough to solve Van's problem. Instead, I 
> would suggest moving his nonintrinsic IEEE_Arithmetic module into a 
> different directory from the rest of the source. Then the 
> inclusion/exclusion of that directory in his module search path 
> becomes the switch to determine whether the nonintrinsic or intrinsic 
> version of IEEE_Arithmetic is to be used. This isn't quite as 
> automatic as the switch Van asked for, but it is something he can do 
> now, it eliminates the need to change his source code, and he probably 
> has to change compiler switches on each new platform anyway.

I wouldn't have this problem if I could write

module IEEE_Arithmetic

  use, intrinsic :: IEEE_Arithmetic

end module IEEE_Arithmetic

but that's prohibited by 09-007r3:16.3.1p2.

This is one of several reasons I advocated to allow a local name (and 
intrinsic module names are local names) to be the same as the name of a 
module in which it appears.

More information about the J3 mailing list