Commit e054e17e by Hans-Peter Nilsson Committed by Hans-Peter Nilsson

re PR libfortran/19872 ([4.0 only] closed and re-opened file not overwriten)

	* lib/lib/target-supports.exp (check_effective_target_fd_truncate):
	New.
	* gfortran.fortran-torture/execute/list_read_1.x,
	gfortran.fortran-torture/execute/read_null_string.x,
	gfortran.fortran-torture/execute/backspace.x,
	gfortran.fortran-torture/execute/seq_io.x,
	gfortran.fortran-torture/execute/slash_edit.x,
	gfortran.fortran-torture/execute/unopened_unit_1.x,
	gfortran.dg/namelist_21.f90, gfortran.dg/advance_5.f90,
	gfortran.dg/fmt_t_7.f, gfortran.dg/eor_1.f90, 
	gfortran.dg/read_x_past.f, gfortran.dg/tl_editing.f90,
	gfortran.dg/ftell_2.f90, gfortran.dg/namelist_13.f90,
	gfortran.dg/namelist_22.f90, gfortran.dg/advance_6.f90,
	gfortran.dg/read_bad_advance.f90, gfortran.dg/func_derived_3.f90,
	gfortran.dg/namelist_40.f90, gfortran.dg/x_slash_2.f,
	gfortran.dg/namelist_14.f90, gfortran.dg/backspace_1.f,
	gfortran.dg/namelist_23.f90, gfortran.dg/pr17285.f90,
	gfortran.dg/read_noadvance.f90, gfortran.dg/namelist_use_only.f90,
	gfortran.dg/namelist_41.f90, gfortran.dg/namelist_15.f90,
	gfortran.dg/backspace_3.f, gfortran.dg/backslash_3.f,
	gfortran.dg/namelist_24.f90, gfortran.dg/pr17286.f90,
	gfortran.dg/endfile.f90, gfortran.dg/open_access_append_1.f90,
	gfortran.dg/fmt_huge.f90, gfortran.dg/namelist_42.f90,
	gfortran.dg/pr18392.f90, gfortran.dg/pr19155.f, gfortran.dg/pr12884.f,
	gfortran.dg/namelist_16.f90, gfortran.dg/backspace_5.f,
	gfortran.dg/open_readonly_1.f90, gfortran.dg/fmt_read.f90,
	gfortran.dg/iostat_1.f90, gfortran.dg/namelist_43.f90,
	gfortran.dg/read_size_noadvance.f90, gfortran.dg/inquire_5.f90,
	gfortran.dg/read_many_1.f, gfortran.dg/namelist_17.f90,
	gfortran.dg/list_read_1.f90, gfortran.dg/backspace_10.f90,
	gfortran.dg/namelist_26.f90, gfortran.dg/unf_read_corrupted_2.f90,
	gfortran.dg/record_marker_1.f90, gfortran.dg/convert_implied_open.f90,
	gfortran.dg/iostat_2.f90, gfortran.dg/write_check3.f90,
	gfortran.dg/namelist_44.f90, gfortran.dg/namelist_use.f90,
	gfortran.dg/rewind_1.f90, gfortran.dg/streamio_11.f90,
	gfortran.dg/namelist_18.f90, gfortran.dg/backspace_9.f,
	gfortran.dg/dos_eol.f, gfortran.dg/read_eof_1.f90,
	gfortran.dg/namelist_27.f90, gfortran.dg/pad_no.f90,
	gfortran.dg/endfile.f, gfortran.dg/namelist_11.f,
	gfortran.dg/namelist_19.f90, gfortran.dg/eor_handling_1.f90,
	gfortran.dg/write_rewind_1.f, gfortran.dg/comma.f,
	gfortran.dg/read_eof_2.f90, gfortran.dg/namelist_28.f90,
	gfortran.dg/record_marker_3.f90, gfortran.dg/complex_read.f90,
	gfortran.dg/namelist_37.f90, gfortran.dg/error_recovery_5.f90,
	gfortran.dg/namelist_char_only.f90, gfortran.dg/pr18122.f90,
	gfortran.dg/list_read_4.f90, gfortran.dg/eor_handling_2.f90,
	gfortran.dg/read_eof_3.f90, gfortran.dg/dollar_edit_descriptor_1.f,
	gfortran.dg/pr19467.f90, gfortran.dg/namelist_38.f90,
	gfortran.dg/inquire_9.f90, gfortran.dg/list_read_5.f90,
	gfortran.dg/noadv_size.f90, gfortran.dg/backslash_1.f90,
	gfortran.dg/eor_handling_3.f90, gfortran.dg/read_eof_4.f90,
	gfortran.dg/runtime_warning_1.f90, gfortran.dg/x_slash_1.f,
	gfortran.dg/namelist_39.f90, gfortran.dg/streamio_3.f90,
	gfortran.dg/read_comma.f, gfortran.dg/pr19657.f,
	gfortran.dg/streamio_15.f90, gfortran.dg/list_read_6.f90,
	gfortran.dg/eor_handling_4.f90, gfortran.dg/backslash_2.f90,
	gfortran.dg/pr19216.f, gfortran.dg/PR19872.f,
	gfortran.dg/backspace_2.f, gfortran.dg/empty_format_1.f90,
	gfortran.dg/streamio_4.f90, gfortran.dg/append_1.f90,
	gfortran.dg/fgetc_1.f90, gfortran.dg/complex_write.f90,
	gfortran.dg/list_read_7.f90, gfortran.dg/eor_handling_5.f90,
	gfortran.dg/fmt_t_1.f90, gfortran.dg/pr17090.f90,
	gfortran.dg/backspace_4.f, gfortran.dg/shape_3.f90,
	gfortran.dg/unf_io_convert_1.f90, gfortran.dg/fgetc_2.f90,
	gfortran.dg/vector_subscript_3.f90, gfortran.dg/list_read_8.f90,
	gfortran.dg/flush_1.f90, gfortran.dg/advance_1.f90,
	gfortran.dg/fmt_t_2.f90, gfortran.dg/backspace_6.f,
	gfortran.dg/slash_1.f90, gfortran.dg/stat_1.f90,
	gfortran.dg/unformatted_recl_1.f90, gfortran.dg/record_marker_2.f,
	gfortran.dg/overwrite_1.f, gfortran.dg/unf_io_convert_2.f90,
	gfortran.dg/fmt_t_3.f90, gfortran.dg/backspace_8.f,
	gfortran.dg/stat_2.f90, gfortran.dg/pr18210.f90,
	gfortran.dg/unformatted_subrecord_1.f90, gfortran.dg/pr20257.f90,
	gfortran.dg/eof_1.f90, gfortran.dg/fmt_t_4.f90,
	gfortran.dg/unf_short_record_1.f90, gfortran.dg/fmt_exhaust.f90,
	gfortran.dg/namelist_20.f90, gfortran.dg/advance_4.f90,
	gfortran.dg/fmt_t_5.f90, gfortran.dg/namelist_12.f,
	gfortran.dg/backspace_7.f90, gfortran.dg/write_rewind_2.f,
	gfortran.dg/ftell_1.f90, gfortran.dg/fseek.f90,
	gfortran.dg/write_back.f: Gate test on effective_target
	fd_truncate.

From-SVN: r132885
parent 4c754988
2008-03-05 Hans-Peter Nilsson <hp@axis.com>
* lib/lib/target-supports.exp (check_effective_target_fd_truncate):
New.
* gfortran.fortran-torture/execute/list_read_1.x,
gfortran.fortran-torture/execute/read_null_string.x,
gfortran.fortran-torture/execute/backspace.x,
gfortran.fortran-torture/execute/seq_io.x,
gfortran.fortran-torture/execute/slash_edit.x,
gfortran.fortran-torture/execute/unopened_unit_1.x,
gfortran.dg/namelist_21.f90, gfortran.dg/advance_5.f90,
gfortran.dg/fmt_t_7.f, gfortran.dg/eor_1.f90,
gfortran.dg/read_x_past.f, gfortran.dg/tl_editing.f90,
gfortran.dg/ftell_2.f90, gfortran.dg/namelist_13.f90,
gfortran.dg/namelist_22.f90, gfortran.dg/advance_6.f90,
gfortran.dg/read_bad_advance.f90, gfortran.dg/func_derived_3.f90,
gfortran.dg/namelist_40.f90, gfortran.dg/x_slash_2.f,
gfortran.dg/namelist_14.f90, gfortran.dg/backspace_1.f,
gfortran.dg/namelist_23.f90, gfortran.dg/pr17285.f90,
gfortran.dg/read_noadvance.f90, gfortran.dg/namelist_use_only.f90,
gfortran.dg/namelist_41.f90, gfortran.dg/namelist_15.f90,
gfortran.dg/backspace_3.f, gfortran.dg/backslash_3.f,
gfortran.dg/namelist_24.f90, gfortran.dg/pr17286.f90,
gfortran.dg/endfile.f90, gfortran.dg/open_access_append_1.f90,
gfortran.dg/fmt_huge.f90, gfortran.dg/namelist_42.f90,
gfortran.dg/pr18392.f90, gfortran.dg/pr19155.f, gfortran.dg/pr12884.f,
gfortran.dg/namelist_16.f90, gfortran.dg/backspace_5.f,
gfortran.dg/open_readonly_1.f90, gfortran.dg/fmt_read.f90,
gfortran.dg/iostat_1.f90, gfortran.dg/namelist_43.f90,
gfortran.dg/read_size_noadvance.f90, gfortran.dg/inquire_5.f90,
gfortran.dg/read_many_1.f, gfortran.dg/namelist_17.f90,
gfortran.dg/list_read_1.f90, gfortran.dg/backspace_10.f90,
gfortran.dg/namelist_26.f90, gfortran.dg/unf_read_corrupted_2.f90,
gfortran.dg/record_marker_1.f90, gfortran.dg/convert_implied_open.f90,
gfortran.dg/iostat_2.f90, gfortran.dg/write_check3.f90,
gfortran.dg/namelist_44.f90, gfortran.dg/namelist_use.f90,
gfortran.dg/rewind_1.f90, gfortran.dg/streamio_11.f90,
gfortran.dg/namelist_18.f90, gfortran.dg/backspace_9.f,
gfortran.dg/dos_eol.f, gfortran.dg/read_eof_1.f90,
gfortran.dg/namelist_27.f90, gfortran.dg/pad_no.f90,
gfortran.dg/endfile.f, gfortran.dg/namelist_11.f,
gfortran.dg/namelist_19.f90, gfortran.dg/eor_handling_1.f90,
gfortran.dg/write_rewind_1.f, gfortran.dg/comma.f,
gfortran.dg/read_eof_2.f90, gfortran.dg/namelist_28.f90,
gfortran.dg/record_marker_3.f90, gfortran.dg/complex_read.f90,
gfortran.dg/namelist_37.f90, gfortran.dg/error_recovery_5.f90,
gfortran.dg/namelist_char_only.f90, gfortran.dg/pr18122.f90,
gfortran.dg/list_read_4.f90, gfortran.dg/eor_handling_2.f90,
gfortran.dg/read_eof_3.f90, gfortran.dg/dollar_edit_descriptor_1.f,
gfortran.dg/pr19467.f90, gfortran.dg/namelist_38.f90,
gfortran.dg/inquire_9.f90, gfortran.dg/list_read_5.f90,
gfortran.dg/noadv_size.f90, gfortran.dg/backslash_1.f90,
gfortran.dg/eor_handling_3.f90, gfortran.dg/read_eof_4.f90,
gfortran.dg/runtime_warning_1.f90, gfortran.dg/x_slash_1.f,
gfortran.dg/namelist_39.f90, gfortran.dg/streamio_3.f90,
gfortran.dg/read_comma.f, gfortran.dg/pr19657.f,
gfortran.dg/streamio_15.f90, gfortran.dg/list_read_6.f90,
gfortran.dg/eor_handling_4.f90, gfortran.dg/backslash_2.f90,
gfortran.dg/pr19216.f, gfortran.dg/PR19872.f,
gfortran.dg/backspace_2.f, gfortran.dg/empty_format_1.f90,
gfortran.dg/streamio_4.f90, gfortran.dg/append_1.f90,
gfortran.dg/fgetc_1.f90, gfortran.dg/complex_write.f90,
gfortran.dg/list_read_7.f90, gfortran.dg/eor_handling_5.f90,
gfortran.dg/fmt_t_1.f90, gfortran.dg/pr17090.f90,
gfortran.dg/backspace_4.f, gfortran.dg/shape_3.f90,
gfortran.dg/unf_io_convert_1.f90, gfortran.dg/fgetc_2.f90,
gfortran.dg/vector_subscript_3.f90, gfortran.dg/list_read_8.f90,
gfortran.dg/flush_1.f90, gfortran.dg/advance_1.f90,
gfortran.dg/fmt_t_2.f90, gfortran.dg/backspace_6.f,
gfortran.dg/slash_1.f90, gfortran.dg/stat_1.f90,
gfortran.dg/unformatted_recl_1.f90, gfortran.dg/record_marker_2.f,
gfortran.dg/overwrite_1.f, gfortran.dg/unf_io_convert_2.f90,
gfortran.dg/fmt_t_3.f90, gfortran.dg/backspace_8.f,
gfortran.dg/stat_2.f90, gfortran.dg/pr18210.f90,
gfortran.dg/unformatted_subrecord_1.f90, gfortran.dg/pr20257.f90,
gfortran.dg/eof_1.f90, gfortran.dg/fmt_t_4.f90,
gfortran.dg/unf_short_record_1.f90, gfortran.dg/fmt_exhaust.f90,
gfortran.dg/namelist_20.f90, gfortran.dg/advance_4.f90,
gfortran.dg/fmt_t_5.f90, gfortran.dg/namelist_12.f,
gfortran.dg/backspace_7.f90, gfortran.dg/write_rewind_2.f,
gfortran.dg/ftell_1.f90, gfortran.dg/fseek.f90,
gfortran.dg/write_back.f: Gate test on effective_target
fd_truncate.
2008-03-04 Joseph Myers <joseph@codesourcery.com> 2008-03-04 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/tree-ssa/loop-1.c: Handle i?86-*-mingw* i?86-*-cygwin* as * gcc.dg/tree-ssa/loop-1.c: Handle i?86-*-mingw* i?86-*-cygwin* as
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 19872 - closed and re-opened file not overwriten ! PR 19872 - closed and re-opened file not overwriten
implicit none implicit none
integer i(4) integer i(4)
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR25463 Check that advance='no' works correctly. ! PR25463 Check that advance='no' works correctly.
! Derived from example given in PR by Thomas Koenig ! Derived from example given in PR by Thomas Koenig
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR31207 Last record truncated for read after short write ! PR31207 Last record truncated for read after short write
program main program main
character(10) :: answer character(10) :: answer
...@@ -7,4 +7,4 @@ program main ...@@ -7,4 +7,4 @@ program main
read (12, '(6A)') answer read (12, '(6A)') answer
close (12, status="delete") close (12, status="delete")
if (answer /= "XABCDX") call abort() if (answer /= "XABCDX") call abort()
end program main end program main
\ No newline at end of file
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR31207 Last record truncated for read after short write. ! PR31207 Last record truncated for read after short write.
character(len=20) :: b character(len=20) :: b
! write something no advance ! write something no advance
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 34370 - file positioning after non-advancing I/O didn't add ! PR 34370 - file positioning after non-advancing I/O didn't add
! a record marker. ! a record marker.
......
! PR libfortran/21471 ! PR libfortran/21471
! Testing POSITION="APPEND" ! Testing POSITION="APPEND"
! !
! { dg-do run } ! { dg-do run { target fd_truncate } }
subroutine failed subroutine failed
close (10,status='delete') close (10,status='delete')
call abort call abort
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
character(len=4) a character(len=4) a
open (10, status='scratch') open (10, status='scratch')
write (10,'(A)') '1\n2' write (10,'(A)') '1\n2'
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! { dg-options "-fbackslash" } ! { dg-options "-fbackslash" }
integer :: i, e integer :: i, e
open (10, status='scratch') open (10, status='scratch')
......
C { dg-do run } C { dg-do run { target fd_truncate } }
C { dg-options "-fbackslash" } C { dg-options "-fbackslash" }
C PR fortran/30278 C PR fortran/30278
program a program a
......
! This file is all about BACKSPACE ! This file is all about BACKSPACE
! { dg-do run } ! { dg-do run { target fd_truncate } }
integer i, n, nr integer i, n, nr
real x(10), y(10) real x(10), y(10)
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR33307 I/O read/positioning problem - in BACKSPACE ! PR33307 I/O read/positioning problem - in BACKSPACE
! Test case devloped from test in PR by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Test case devloped from test in PR by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program gfcbug69b program gfcbug69b
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR25139 Repeated backspaces and reads. ! PR25139 Repeated backspaces and reads.
! Derived from example given in PR by Dale Ranta and FX Coudert ! Derived from example given in PR by Dale Ranta and FX Coudert
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR25598 Error on repeated backspaces. ! PR25598 Error on repeated backspaces.
! Derived from example given in PR by Dale Ranta ! Derived from example given in PR by Dale Ranta
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR25598 Error on repeated backspaces. ! PR25598 Error on repeated backspaces.
! Derived from example given in PR by Dale Ranta ! Derived from example given in PR by Dale Ranta
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! PR26464 File I/O error related to buffering and BACKSPACE ! PR26464 File I/O error related to buffering and BACKSPACE
! Test case derived from case by Dale Ranta. ! Test case derived from case by Dale Ranta.
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! PR26464 File I/O error related to buffering and BACKSPACE ! PR26464 File I/O error related to buffering and BACKSPACE
! Test case derived from case by Dale Ranta. ! Test case derived from case by Dale Ranta.
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
!pr18284 BACKSPACE broken !pr18284 BACKSPACE broken
open(unit=10,access='SEQUENTIAL',status='SCRATCH') open(unit=10,access='SEQUENTIAL',status='SCRATCH')
do I = 1,200 do I = 1,200
......
C { dg-do run } C { dg-do run { target fd_truncate } }
C PR libfortran/31618 - backspace after an error didn't work. C PR libfortran/31618 - backspace after an error didn't work.
program main program main
character*78 msg character*78 msg
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR32235 incorrectly position text file after backspace ! PR32235 incorrectly position text file after backspace
! Test case from PR, prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Test case from PR, prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program main program main
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR25419 Default input with commas. ! PR25419 Default input with commas.
! Derived from example given in PR. ! Derived from example given in PR.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! Test of the fix to the bug in NIST fm906.for. ! Test of the fix to the bug in NIST fm906.for.
! Contributed by Paul Thomas <pault@gcc.gnu.org> ! Contributed by Paul Thomas <pault@gcc.gnu.org>
! !
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! pr 19071 ! pr 19071
! test case provided by ! test case provided by
! Thomas.Koenig@online.de ! Thomas.Koenig@online.de
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! { dg-options "-fconvert=swap" } ! { dg-options "-fconvert=swap" }
! PR 26735 - implied open didn't use to honor -fconvert ! PR 26735 - implied open didn't use to honor -fconvert
program main program main
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! { dg-options "-w" } ! { dg-options "-w" }
! PR libfortran/20006 ! PR libfortran/20006
character*5 c character*5 c
......
! PR libfortran/19678 and PR libfortran/19679 ! PR libfortran/19678 and PR libfortran/19679
! { dg-do run } ! { dg-do run { target fd_truncate } }
integer i, j integer i, j
open (10,status='scratch') open (10,status='scratch')
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 17709 ! PR 17709
! We weren't resetting the internal EOR flag correctly, so the second read ! We weren't resetting the internal EOR flag correctly, so the second read
! wasn't advancing to the next line. ! wasn't advancing to the next line.
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR25550 file data corrupted after reading end of file. ! PR25550 file data corrupted after reading end of file.
! Derived from example given in PR from Dale Ranta. ! Derived from example given in PR from Dale Ranta.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! pr18364 endfile does not truncate file. ! pr18364 endfile does not truncate file.
! write out 20 records ! write out 20 records
! rewind ! rewind
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! Program to test for proper EOF errors when reading past the end of a file. ! Program to test for proper EOF errors when reading past the end of a file.
! We used to get this wrong when a formatted read followed a list formatted ! We used to get this wrong when a formatted read followed a list formatted
! read. ! read.
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 19451: The test for advance='NO' with eor used to be reversed. ! PR 19451: The test for advance='NO' with eor used to be reversed.
program main program main
character*2 c character*2 c
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 17992: Reading an empty file should yield zero with pad='YES' ! PR 17992: Reading an empty file should yield zero with pad='YES'
! (which is the default). ! (which is the default).
! Test case supplied by milan@cmm.ki.si. ! Test case supplied by milan@cmm.ki.si.
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 19568: Don't read across end of line when the format is longer ! PR 19568: Don't read across end of line when the format is longer
! than the line length and pad='yes' (default) ! than the line length and pad='yes' (default)
program main program main
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 19595: Handle end-of-record condition with pad=yes (default) ! PR 19595: Handle end-of-record condition with pad=yes (default)
program main program main
integer i1, i2 integer i1, i2
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 20092, 20131: Handle end-of-record condition with pad=yes (default) ! PR 20092, 20131: Handle end-of-record condition with pad=yes (default)
! for standard input. This test case only really tests anything if, ! for standard input. This test case only really tests anything if,
! by changing unit 5, you get to manipulate the standard input. ! by changing unit 5, you get to manipulate the standard input.
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 20661: Handle non-advancing I/O with iostat ! PR 20661: Handle non-advancing I/O with iostat
! Test case by Walt Brainerd, The Fortran Company ! Test case by Walt Brainerd, The Fortran Company
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR34411 hang-up during read of non-expected input ! PR34411 hang-up during read of non-expected input
! Test case derived from that given in PR ! Test case derived from that given in PR
! Prior to patch, the do loop was infinite, limits set in this one ! Prior to patch, the do loop was infinite, limits set in this one
......
! Testcase for the FGETC and FPUTC intrinsics ! Testcase for the FGETC and FPUTC intrinsics
! { dg-do run } ! { dg-do run { target fd_truncate } }
character(len=5) s character(len=5) s
integer st integer st
......
! Testcase for the FGETC and FPUTC intrinsics ! Testcase for the FGETC and FPUTC intrinsics
! { dg-do run } ! { dg-do run { target fd_truncate } }
character(len=5) s character(len=5) s
integer st integer st
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 22390 Implement flush statement ! PR 22390 Implement flush statement
program flush_1 program flush_1
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR27304 Test running out of data descriptors with data remaining. ! PR27304 Test running out of data descriptors with data remaining.
! Derived from case in PR. Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>. ! Derived from case in PR. Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>.
program test program test
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR32446 printing big numbers in F0.1 format. ! PR32446 printing big numbers in F0.1 format.
! This segfaulted before the patch. ! This segfaulted before the patch.
open (10, status="scratch") open (10, status="scratch")
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! pr18398, missing data on sequential formatted reads ! pr18398, missing data on sequential formatted reads
! test contributed by Thomas.Koenig@online.de ! test contributed by Thomas.Koenig@online.de
open(7,status='scratch') open(7,status='scratch')
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
integer nrow, vec(15) integer nrow, vec(15)
open (10, status="scratch") open (10, status="scratch")
write (10, fmt='(a)') '001 1 2 3 4 5 6' write (10, fmt='(a)') '001 1 2 3 4 5 6'
......
! { dg-options "" } ! { dg-options "" }
! { dg-do run } ! { dg-do run { target fd_truncate } }
! pr24699, handle end-of-record on READ with T format ! pr24699, handle end-of-record on READ with T format
! test contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! test contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
character*132 :: foost1, foost2, foost3 character*132 :: foost1, foost2, foost3
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR31051 bug with x and t format descriptors. ! PR31051 bug with x and t format descriptors.
! Test case prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org> from PR. ! Test case prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org> from PR.
program t program t
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR31199, test case from PR report. ! PR31199, test case from PR report.
program write_write program write_write
character(len=20) :: a,b,c character(len=20) :: a,b,c
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR32678 GFortan works incorrectly when writing with FORMAT Tx ! PR32678 GFortan works incorrectly when writing with FORMAT Tx
! Before patch, NULLs were inserted in output. ! Before patch, NULLs were inserted in output.
! Test case from reporter enhanced to detect this problem. ! Test case from reporter enhanced to detect this problem.
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR34974 null bytes when reverse-tabbing long records ! PR34974 null bytes when reverse-tabbing long records
! Test case prpared by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Test case prpared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program test program test
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
PROGRAM test_fseek PROGRAM test_fseek
INTEGER, PARAMETER :: SEEK_SET = 0, SEEK_CUR = 1, SEEK_END = 2, fd=10 INTEGER, PARAMETER :: SEEK_SET = 0, SEEK_CUR = 1, SEEK_END = 2, fd=10
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
integer(kind=8) o, o2 integer(kind=8) o, o2
open (10, status="scratch") open (10, status="scratch")
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
integer(kind=8) o integer(kind=8) o
open (10, status="scratch") open (10, status="scratch")
if (ftell(10) /= 0) call abort if (ftell(10) /= 0) call abort
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! This tests the "virtual fix" for PR19561, where pointers to derived ! This tests the "virtual fix" for PR19561, where pointers to derived
! types were not generating correct code. This testcase is based on ! types were not generating correct code. This testcase is based on
! the original PR example. This example not only tests the ! the original PR example. This example not only tests the
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! 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
......
! PR fortran/24774 ! PR fortran/24774
! { dg-do run } ! { dg-do run { target fd_truncate } }
logical :: l logical :: l
l = .true. l = .true.
inquire (file='inquire_9 file that should not exist', exist=l) inquire (file='inquire_9 file that should not exist', exist=l)
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 23598 - The iostat variable wasn't reset if the previous ! PR 23598 - The iostat variable wasn't reset if the previous
! I/O library call had an error. ! I/O library call had an error.
program main program main
......
! PR libfortran/23784 ! PR libfortran/23784
! { dg-do run } ! { dg-do run { target fd_truncate } }
integer i integer i
close(10, status="whatever", iostat=i) ! { dg-warning "STATUS specifier in CLOSE statement.*has invalid value" } close(10, status="whatever", iostat=i) ! { dg-warning "STATUS specifier in CLOSE statement.*has invalid value" }
if (i == 0) call abort() if (i == 0) call abort()
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! Program to test terminators in list-directed input ! Program to test terminators in list-directed input
program list_read_1 program list_read_1
character(len=5) :: s character(len=5) :: s
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! Test of gfortran list directed read> check delimiters are correctly ! Test of gfortran list directed read> check delimiters are correctly
! treated. Written in f77 so that g77 will run for comparison. ! treated. Written in f77 so that g77 will run for comparison.
! !
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR25307 Check handling of end-of-file conditions for list directed reads. ! PR25307 Check handling of end-of-file conditions for list directed reads.
! Prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program pr25307 program pr25307
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR30435 Slash at end of input not recognized according to standard. ! PR30435 Slash at end of input not recognized according to standard.
! Test case from PR by Steve Kargl. ! Test case from PR by Steve Kargl.
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR33400 Formatted read fails if line ends without line break ! PR33400 Formatted read fails if line ends without line break
! Test case modified from that in PR by <jvdelisle@gcc.gnu.org> ! Test case modified from that in PR by <jvdelisle@gcc.gnu.org>
integer, parameter :: fgsl_strmax = 128 integer, parameter :: fgsl_strmax = 128
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR34676 IO error delayed ! PR34676 IO error delayed
! Test case from PR modified by <jvdelisle@gcc.gnu.org> ! Test case from PR modified by <jvdelisle@gcc.gnu.org>
implicit none implicit none
......
c { dg-do run } c { dg-do run { target fd_truncate } }
c This program tests: namelist comment, a blank line before the nameilist name, the namelist name, c This program tests: namelist comment, a blank line before the nameilist name, the namelist name,
c a scalar qualifier, various combinations of space, comma and lf delimiters, f-formats, e-formats c a scalar qualifier, various combinations of space, comma and lf delimiters, f-formats, e-formats
c a blank line within the data read, nulls, a range qualifier, a new object name before end of data c a blank line within the data read, nulls, a range qualifier, a new object name before end of data
......
c{ dg-do run } c{ dg-do run { target fd_truncate } }
c This program repeats many of the same tests as test_nml_1 but for integer c This program repeats many of the same tests as test_nml_1 but for integer
c instead of real. It also tests repeat nulls, comma delimited character read, c instead of real. It also tests repeat nulls, comma delimited character read,
c a triplet qualifier, a range with an assumed start, a quote delimited string, c a triplet qualifier, a range with an assumed start, a quote delimited string,
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! Tests simple derived types. ! Tests simple derived types.
! Provided by Paul Thomas - pault@gcc.gnu.org ! Provided by Paul Thomas - pault@gcc.gnu.org
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! Tests various combinations of intrinsic types, derived types, arrays, ! Tests various combinations of intrinsic types, derived types, arrays,
! dummy arguments and common to check nml_get_addr_expr in trans-io.c. ! dummy arguments and common to check nml_get_addr_expr in trans-io.c.
! See comments below for selection. ! See comments below for selection.
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! Tests arrays of derived types containing derived type arrays whose ! Tests arrays of derived types containing derived type arrays whose
! components are character arrays - exercises object name parser in ! components are character arrays - exercises object name parser in
! list_read.c. Checks that namelist output can be reread. ! list_read.c. Checks that namelist output can be reread.
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! Tests namelist on complex variables ! Tests namelist on complex variables
! provided by Paul Thomas - pault@gcc.gnu.org ! provided by Paul Thomas - pault@gcc.gnu.org
program namelist_16 program namelist_16
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! Tests namelist on logical variables ! Tests namelist on logical variables
! provided by Paul Thomas - pault@gcc.gnu.org ! provided by Paul Thomas - pault@gcc.gnu.org
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! Tests character delimiters for namelist write ! Tests character delimiters for namelist write
! provided by Paul Thomas - pault@gcc.gnu.org ! provided by Paul Thomas - pault@gcc.gnu.org
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! Test namelist error trapping. ! Test namelist error trapping.
! provided by Paul Thomas - pault@gcc.gnu.org ! provided by Paul Thomas - pault@gcc.gnu.org
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! Tests namelist io for an explicit shape array with negative bounds ! Tests namelist io for an explicit shape array with negative bounds
! provided by Paul Thomas - pault@gcc.gnu.org ! provided by Paul Thomas - pault@gcc.gnu.org
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! Tests filling arrays from a namelist read when object list is not complete. ! Tests filling arrays from a namelist read when object list is not complete.
! Developed from a test case provided by Christoph Jacob. ! Developed from a test case provided by Christoph Jacob.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>. ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>.
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! Tests filling arrays from a namelist read when object list is not complete. ! Tests filling arrays from a namelist read when object list is not complete.
! This is the same as namelist_21.f90 except using spaces as seperators instead ! This is the same as namelist_21.f90 except using spaces as seperators instead
! of commas. Developed from a test case provided by Christoph Jacob. ! of commas. Developed from a test case provided by Christoph Jacob.
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
! PR26136 Filling logical variables from namelist read when object list is not ! PR26136 Filling logical variables from namelist read when object list is not
! complete. Test case derived from PR. ! complete. Test case derived from PR.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
!{ dg-do run } !{ dg-do run { target fd_truncate } }
!{ dg-options -std=gnu } !{ dg-options -std=gnu }
! Tests namelist read when more data is provided then specified by ! Tests namelist read when more data is provided then specified by
! array qualifier in list. ! array qualifier in list.
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR30918 Failure to skip commented out NAMELIST ! PR30918 Failure to skip commented out NAMELIST
! Before the patch, this read the commented out namelist and iuse would ! Before the patch, this read the commented out namelist and iuse would
! equal 2 when done. Test case from PR. ! equal 2 when done. Test case from PR.
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF. ! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF.
! Patch derived from PR, submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Patch derived from PR, submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program gfcbug61 program gfcbug61
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF. ! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF.
! Patch derived from PR, submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Patch derived from PR, submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program gfcbug61 program gfcbug61
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR33039 Read NAMELIST: reads wrong namelist name ! PR33039 Read NAMELIST: reads wrong namelist name
! Test case from PR modified by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Test case from PR modified by Jerry DeLisle <jvdelisle@gcc.gnu.org>
PROGRAM namelist PROGRAM namelist
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR33253 namelist: reading back a string, also fixed writing with delimiters. ! PR33253 namelist: reading back a string, also fixed writing with delimiters.
! Test case modified from that of the PR by ! Test case modified from that of the PR by
! Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR33421 and PR33253 Weird quotation of namelist output of character arrays ! PR33421 and PR33253 Weird quotation of namelist output of character arrays
! Test case from Toon Moone, adapted by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Test case from Toon Moone, adapted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR33672 Additional runtime checks needed for namelist reads ! PR33672 Additional runtime checks needed for namelist reads
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org> ! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR34291 Segfault on &end in namelist expanded read of character ! PR34291 Segfault on &end in namelist expanded read of character
implicit none implicit none
character(len=10), dimension(2) :: var character(len=10), dimension(2) :: var
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! { dg-options "-mieee" { target sh*-*-* } } ! { dg-options "-mieee" { target sh*-*-* } }
! !
! PR fortran/34427 ! PR fortran/34427
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! { dg-options "-mieee" { target sh*-*-* } } ! { dg-options "-mieee" { target sh*-*-* } }
! !
! PR fortran/34427 ! PR fortran/34427
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! !
! PR fortran/34530 ! PR fortran/34530
! !
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! { dg-options "-O0" } ! { dg-options "-O0" }
! Test patch for PR24416.f90 - a used to come back from the read with var ! Test patch for PR24416.f90 - a used to come back from the read with var
! prepended. ! prepended.
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! This tests the fix for PR22010, where namelists were not being written to ! This tests the fix for PR22010, where namelists were not being written to
! and read back from modules. It has two namelists: one that is USE ! and read back from modules. It has two namelists: one that is USE
! associated and another that is concatenated by USE and host association. ! associated and another that is concatenated by USE and host association.
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! This tests the fix for PR22010, where namelists were not being written to ! This tests the fix for PR22010, where namelists were not being written to
! and read back from modules. It checks that namelists from modules that are ! and read back from modules. It checks that namelists from modules that are
! selected by an ONLY declaration work correctly, even when the variables in ! selected by an ONLY declaration work correctly, even when the variables in
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 20774: Handle size parameter for non-advancing I/O correctly ! PR 20774: Handle size parameter for non-advancing I/O correctly
program main program main
open(77,status='scratch') open(77,status='scratch')
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! Testcase for the GNU extension OPEN(...,ACCESS="APPEND") ! Testcase for the GNU extension OPEN(...,ACCESS="APPEND")
open (10,file="foo") open (10,file="foo")
close (10,status="delete") close (10,status="delete")
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR19451 ! PR19451
! Writing to a non-empty readonly file caused a segfault. ! Writing to a non-empty readonly file caused a segfault.
! We were still trying to write the EOR after an error ocurred ! We were still trying to write the EOR after an error ocurred
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR 19872 - closed and re-opened file not overwriten ! PR 19872 - closed and re-opened file not overwriten
implicit none implicit none
integer i(4) integer i(4)
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! Test correct operation for pad='no'. ! Test correct operation for pad='no'.
program main program main
character(len=1) line(2) character(len=1) line(2)
......
c { dg-do run } c { dg-do run { target fd_truncate } }
c pr 12884 c pr 12884
c test namelist with input file containg / before namelist. Also checks c test namelist with input file containg / before namelist. Also checks
c non-standard use of $ instead of & c non-standard use of $ instead of &
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! pr 17090 Runtime I/O error ! pr 17090 Runtime I/O error
! bdavis9659@comcast.net ! bdavis9659@comcast.net
! 9/12/2004 ! 9/12/2004
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! pr 17285 ! pr 17285
! Test that namelist can read its own output. ! Test that namelist can read its own output.
! At the same time, check arrays and different terminations ! At the same time, check arrays and different terminations
......
! { dg-do run } ! { dg-do run { target fd_truncate } }
! PR17286 ! PR17286
! Namelist read failed when spaces exist between the '=' and the numbers ! Namelist read failed when spaces exist between the '=' and the numbers
! This is a libgfortran bug ! This is a libgfortran bug
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment