[patch, libgfortran] PR30005 Open errors (not/already exists etc.): show also the file name

Jerry DeLisle jvdelisle@verizon.net
Tue Dec 5 05:39:00 GMT 2006


Jerry DeLisle wrote:
> :ADDPATCH fortran:
> 
> Hi All,
> 
> This straight forward patch provides easier to understand error messages 
> on file open and includes the file path in the message so users will 
> have a clue where to look.
> 
> This is an enhancement and therefore should only go to trunk.
> 
> Regression tested on x86-64-linux.
> 
> I will work up a suitable test case.
> 
Here it is:

! { dg-do run }
! PR30005 Enhanced error messages for OPEN
! Submitted by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
character(60) :: msg
character(25) :: n = "temptestfile"
open(77,file=n,status="new")
close(77, status="keep")
msg=""
open(77,file=n,status="new", iomsg=msg, iostat=i)
if (msg /= "File 'temptestfile' already exists") call abort()

open(77,file=n,status="old")
close(77, status="delete")
open(77,file=n,status="old", iomsg=msg, iostat=i)
if (msg /= "File 'temptestfile' does not exist") call abort()

open(77,file="./", iomsg=msg, iostat=i)
if (msg /= "'./' is a directory") call abort()

open(77,file=n,status="new")
i = chmod(n, "-w")
if (i == 0) then
  close(77, status="keep")
  open(77,file=n, iomsg=msg, iostat=i, action="write")
  if (msg /= "Permission denied trying to open file 'temptestfile'") call abort()
endif

i = chmod(n,"+w")
open(77,file=n, iomsg=msg, iostat=i, action="read")
close(77, status="delete")
end



More information about the Fortran mailing list