! { dg-do run { target fd_truncate } }
|
! { dg-do run { target fd_truncate } }
|
! { dg-options "-std=legacy" }
|
! { dg-options "-std=legacy" }
|
!
|
!
|
! pr19314 inquire(..position=..) segfaults
|
! pr19314 inquire(..position=..) segfaults
|
! test by Thomas.Koenig@online.de
|
! test by Thomas.Koenig@online.de
|
! bdavis9659@comcast.net
|
! bdavis9659@comcast.net
|
implicit none
|
implicit none
|
character*20 chr
|
character*20 chr
|
open(7,STATUS='SCRATCH')
|
open(7,STATUS='SCRATCH')
|
inquire(7,position=chr)
|
inquire(7,position=chr)
|
if (chr.NE.'ASIS') CALL ABORT
|
if (chr.NE.'ASIS') CALL ABORT
|
close(7)
|
close(7)
|
open(7,STATUS='SCRATCH',ACCESS='DIRECT',RECL=100)
|
open(7,STATUS='SCRATCH',ACCESS='DIRECT',RECL=100)
|
inquire(7,position=chr)
|
inquire(7,position=chr)
|
if (chr.NE.'UNDEFINED') CALL ABORT
|
if (chr.NE.'UNDEFINED') CALL ABORT
|
close(7)
|
close(7)
|
open(7,STATUS='SCRATCH',POSITION='REWIND')
|
open(7,STATUS='SCRATCH',POSITION='REWIND')
|
inquire(7,position=chr)
|
inquire(7,position=chr)
|
if (chr.NE.'REWIND') CALL ABORT
|
if (chr.NE.'REWIND') CALL ABORT
|
close(7)
|
close(7)
|
open(7,STATUS='SCRATCH',POSITION='ASIS')
|
open(7,STATUS='SCRATCH',POSITION='ASIS')
|
inquire(7,position=chr)
|
inquire(7,position=chr)
|
if (chr.NE.'ASIS') CALL ABORT
|
if (chr.NE.'ASIS') CALL ABORT
|
close(7)
|
close(7)
|
open(7,STATUS='SCRATCH',POSITION='APPEND')
|
open(7,STATUS='SCRATCH',POSITION='APPEND')
|
inquire(7,position=chr)
|
inquire(7,position=chr)
|
if (chr.NE.'APPEND') CALL ABORT
|
if (chr.NE.'APPEND') CALL ABORT
|
close(7)
|
close(7)
|
open(7,STATUS='SCRATCH',POSITION='REWIND')
|
open(7,STATUS='SCRATCH',POSITION='REWIND')
|
write(7,*)'this is a record written to the file'
|
write(7,*)'this is a record written to the file'
|
write(7,*)'this is another record'
|
write(7,*)'this is another record'
|
backspace(7)
|
backspace(7)
|
inquire(7,position=chr)
|
inquire(7,position=chr)
|
if (chr.NE.'ASIS') CALL ABORT
|
if (chr.NE.'ASIS') CALL ABORT
|
rewind(7)
|
rewind(7)
|
inquire(7,position=chr)
|
inquire(7,position=chr)
|
if (chr.NE.'REWIND') CALL ABORT
|
if (chr.NE.'REWIND') CALL ABORT
|
close(7)
|
close(7)
|
end
|
end
|
|
|