This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch, libgfortran] PR30005 Open errors (not/already exists etc.): show also the file name
- From: Jerry DeLisle <jvdelisle at verizon dot net>
- To: Fortran List <fortran at gcc dot gnu dot org>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 04 Dec 2006 21:40:15 -0800
- Subject: Re: [patch, libgfortran] PR30005 Open errors (not/already exists etc.): show also the file name
- References: <4573AF9F.1030504@verizon.net>
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