[RFC] fseek, an alternative implementation (PR22359)

Tobias Schlüter tobias.schlueter@physik.uni-muenchen.de
Mon Apr 30 08:16:00 GMT 2007


Daniel Franke wrote:
> While working on the docs last week, I learned, that the FSEEK intrinsic is 
> not implemented yet. 
> 
> The FSEEK implementation of g77 takes a statement label to jump to, if an 
> error occurs. Since there is no other intrinsic that takes a statement label, 
> considerable effort would be necessary to implement the framework needed. As 
> demand is low (one PR, no dupes, no usage of FSEEK shown by google-code 
> search), it might be worthwile to implement the FSEEK intrinsic for 
> completeness and replace the statement label by a status flag:
> 
>   g77:        CALL FSEEK(unit, offset, whence, *100)
>   gfortran:   CALL FSEEK(unit, offset, whence, status)
>               IF (status /= 0) goto 100
> 
> This is not 100% compability, but reasonable close.
> 
> Please find a preliminary patch that implements FSEEK using a status flag 
> attached. Of course, this implementation (still) has the same problems with 
> casting/assigning of the status flag as the other intrinsics. 

I don't like the idea of introducing new extensions.  If we do this, we 
can't ever implement a g77 compatible solution without going to extra 
lengths, such as command line flags.  I'd rather we keep waiting until 
someone needs this badly enough that they implement it in a way 
compatible with g77.

Cheers,
- Tobi



More information about the Fortran mailing list