[Patch, FORTRAN] PR61933 Inquire on Internal Unit
Janne Blomqvist
blomqvist.janne@gmail.com
Sun Sep 7 04:08:00 GMT 2014
On Sun, Sep 7, 2014 at 12:51 AM, Jerry DeLisle <jvdelisle@charter.net> wrote:
> Hi,
>
> The attached patch adds a compile time check for negative unit numbers given in
> an INQUIRE statement. A new test case is provided and one updated.
What about units opened with newunit= ? Those have negative unit
numbers. It seems strange that one wouldn't be allowed to inquire such
units? Or if that indeed is the case, I suggest it's a bug in the
standard (one can imagine such happening by forgetting to update
inquire constraints after adding newunit= in f2003).
program negunit
implicit none
logical :: file_exists
integer :: u
open(newunit=u, file="test.dat")
inquire(unit=u, exist=file_exists)
write(*,*) u, file_exists
close(u, status="delete")
end program negunit
Testing with gfortran 4.9.1 (homebrew) on a Mac, the above program prints
-10 F
which is wrong, but a slightly different issue. The almost identical program
program posunit
implicit none
logical :: file_exists
integer :: u=10
open(u, file="test.dat")
inquire(unit=u, exist=file_exists)
write(*,*) u, file_exists
close(u, status="delete")
end program posunit
correctly prints
10 T
--
Janne Blomqvist
More information about the Gcc-patches
mailing list