[RFC PATCH] _gfortran_{ioparm,filename,line} vs. thread-safety

Jakub Jelinek jakub@redhat.com
Fri Oct 7 08:21:00 GMT 2005


On Fri, Oct 07, 2005 at 10:15:32AM +0200, Fran?ois-Xavier Coudert wrote:
> > There are 3 options:
> > 1) it is enough to support -2GB..2GB values for that var; in that
> > case it could be handled the same way as logical*8, via a integer*4
> > temporary (e.g. do we need unit numbers > 2GB?)
> > 2) or the library can use always integer*8 and if source needs
> > integer*4, use a temporary
> > 3) or, especially for non-INQUIRE variables, we could perhaps support
> > both, just by allocating another bit for it in the flags bitmask.
> 
> Please note that there are integer*16 variables on some platforms out
> there, and we need to do something clever for that too. And of course,
> integer*1 and integer*2...

That's not a problem, all those can be solved by the address of temporary
value and subsequent copying.  I don't think for anything in the interfaces
you need values that don't fit into integer*8, so it is ok to just
sign-extend to 64-bits.

	Jakub



More information about the Fortran mailing list