1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
! { dg-do run { target fd_truncate } }
! { dg-options "-std=legacy" }
!
! pr19314 inquire(..position=..) segfaults
! test by Thomas.Koenig@online.de
! bdavis9659@comcast.net
implicit none
character*20 chr
open(7,STATUS='SCRATCH')
inquire(7,position=chr)
if (chr.NE.'ASIS') CALL ABORT
close(7)
open(7,STATUS='SCRATCH',ACCESS='DIRECT',RECL=100)
inquire(7,position=chr)
if (chr.NE.'UNDEFINED') CALL ABORT
close(7)
open(7,STATUS='SCRATCH',POSITION='REWIND')
inquire(7,position=chr)
if (chr.NE.'REWIND') CALL ABORT
close(7)
open(7,STATUS='SCRATCH',POSITION='ASIS')
inquire(7,position=chr)
if (chr.NE.'ASIS') CALL ABORT
close(7)
open(7,STATUS='SCRATCH',POSITION='APPEND')
inquire(7,position=chr)
if (chr.NE.'APPEND') CALL ABORT
close(7)
open(7,STATUS='SCRATCH',POSITION='REWIND')
write(7,*)'this is a record written to the file'
write(7,*)'this is another record'
backspace(7)
inquire(7,position=chr)
if (chr.NE.'ASIS') CALL ABORT
rewind(7)
inquire(7,position=chr)
if (chr.NE.'REWIND') CALL ABORT
close(7)
end
|