aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2008-03-05 00:59:34 +0000
committerHans-Peter Nilsson <hp@gcc.gnu.org>2008-03-05 00:59:34 +0000
commite054e17e6dfa8bb4dd55e042f6e94e936ccbba54 (patch)
treeea28ae6d3f823748d52a89bb809af28d3352877a
parent4c754988b29cfdf54525c00457ffab172dcc7eb4 (diff)
downloadgcc-e054e17e6dfa8bb4dd55e042f6e94e936ccbba54.zip
gcc-e054e17e6dfa8bb4dd55e042f6e94e936ccbba54.tar.gz
gcc-e054e17e6dfa8bb4dd55e042f6e94e936ccbba54.tar.bz2
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
-rw-r--r--gcc/testsuite/ChangeLog84
-rw-r--r--gcc/testsuite/gfortran.dg/PR19872.f2
-rw-r--r--gcc/testsuite/gfortran.dg/advance_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/advance_4.f904
-rw-r--r--gcc/testsuite/gfortran.dg/advance_5.f902
-rw-r--r--gcc/testsuite/gfortran.dg/advance_6.f902
-rw-r--r--gcc/testsuite/gfortran.dg/append_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/backslash_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/backslash_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/backslash_3.f2
-rw-r--r--gcc/testsuite/gfortran.dg/backspace_1.f2
-rw-r--r--gcc/testsuite/gfortran.dg/backspace_10.f902
-rw-r--r--gcc/testsuite/gfortran.dg/backspace_2.f2
-rw-r--r--gcc/testsuite/gfortran.dg/backspace_3.f2
-rw-r--r--gcc/testsuite/gfortran.dg/backspace_4.f2
-rw-r--r--gcc/testsuite/gfortran.dg/backspace_5.f2
-rw-r--r--gcc/testsuite/gfortran.dg/backspace_6.f2
-rw-r--r--gcc/testsuite/gfortran.dg/backspace_7.f902
-rw-r--r--gcc/testsuite/gfortran.dg/backspace_8.f2
-rw-r--r--gcc/testsuite/gfortran.dg/backspace_9.f2
-rw-r--r--gcc/testsuite/gfortran.dg/comma.f2
-rw-r--r--gcc/testsuite/gfortran.dg/complex_read.f902
-rw-r--r--gcc/testsuite/gfortran.dg/complex_write.f902
-rw-r--r--gcc/testsuite/gfortran.dg/convert_implied_open.f902
-rw-r--r--gcc/testsuite/gfortran.dg/dollar_edit_descriptor_1.f2
-rw-r--r--gcc/testsuite/gfortran.dg/dos_eol.f2
-rw-r--r--gcc/testsuite/gfortran.dg/empty_format_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/endfile.f2
-rw-r--r--gcc/testsuite/gfortran.dg/endfile.f902
-rw-r--r--gcc/testsuite/gfortran.dg/eof_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/eor_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/eor_handling_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/eor_handling_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/eor_handling_3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/eor_handling_4.f902
-rw-r--r--gcc/testsuite/gfortran.dg/eor_handling_5.f902
-rw-r--r--gcc/testsuite/gfortran.dg/error_recovery_5.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fgetc_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fgetc_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/flush_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_exhaust.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_huge.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_read.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_t_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_t_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_t_3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_t_4.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_t_5.f902
-rw-r--r--gcc/testsuite/gfortran.dg/fmt_t_7.f2
-rw-r--r--gcc/testsuite/gfortran.dg/fseek.f902
-rw-r--r--gcc/testsuite/gfortran.dg/ftell_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/ftell_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/func_derived_3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/inquire_5.f902
-rw-r--r--gcc/testsuite/gfortran.dg/inquire_9.f902
-rw-r--r--gcc/testsuite/gfortran.dg/iostat_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/iostat_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/list_read_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/list_read_4.f902
-rw-r--r--gcc/testsuite/gfortran.dg/list_read_5.f902
-rw-r--r--gcc/testsuite/gfortran.dg/list_read_6.f902
-rw-r--r--gcc/testsuite/gfortran.dg/list_read_7.f902
-rw-r--r--gcc/testsuite/gfortran.dg/list_read_8.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_11.f2
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_12.f2
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_13.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_14.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_15.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_16.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_17.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_18.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_19.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_20.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_21.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_22.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_23.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_24.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_26.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_27.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_28.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_37.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_38.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_39.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_40.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_41.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_42.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_43.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_44.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_char_only.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_use.f902
-rw-r--r--gcc/testsuite/gfortran.dg/namelist_use_only.f902
-rw-r--r--gcc/testsuite/gfortran.dg/noadv_size.f902
-rw-r--r--gcc/testsuite/gfortran.dg/open_access_append_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/open_readonly_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/overwrite_1.f2
-rw-r--r--gcc/testsuite/gfortran.dg/pad_no.f902
-rw-r--r--gcc/testsuite/gfortran.dg/pr12884.f2
-rw-r--r--gcc/testsuite/gfortran.dg/pr17090.f902
-rw-r--r--gcc/testsuite/gfortran.dg/pr17285.f902
-rw-r--r--gcc/testsuite/gfortran.dg/pr17286.f902
-rw-r--r--gcc/testsuite/gfortran.dg/pr18122.f902
-rw-r--r--gcc/testsuite/gfortran.dg/pr18210.f902
-rw-r--r--gcc/testsuite/gfortran.dg/pr18392.f902
-rw-r--r--gcc/testsuite/gfortran.dg/pr19155.f2
-rw-r--r--gcc/testsuite/gfortran.dg/pr19216.f2
-rw-r--r--gcc/testsuite/gfortran.dg/pr19467.f902
-rw-r--r--gcc/testsuite/gfortran.dg/pr19657.f2
-rw-r--r--gcc/testsuite/gfortran.dg/pr20257.f902
-rw-r--r--gcc/testsuite/gfortran.dg/read_bad_advance.f902
-rw-r--r--gcc/testsuite/gfortran.dg/read_comma.f2
-rw-r--r--gcc/testsuite/gfortran.dg/read_eof_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/read_eof_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/read_eof_3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/read_eof_4.f902
-rw-r--r--gcc/testsuite/gfortran.dg/read_many_1.f2
-rw-r--r--gcc/testsuite/gfortran.dg/read_noadvance.f902
-rw-r--r--gcc/testsuite/gfortran.dg/read_size_noadvance.f902
-rw-r--r--gcc/testsuite/gfortran.dg/read_x_past.f2
-rw-r--r--gcc/testsuite/gfortran.dg/record_marker_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/record_marker_2.f2
-rw-r--r--gcc/testsuite/gfortran.dg/record_marker_3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/rewind_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/runtime_warning_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/shape_3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/slash_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/stat_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/stat_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/streamio_11.f902
-rw-r--r--gcc/testsuite/gfortran.dg/streamio_15.f902
-rw-r--r--gcc/testsuite/gfortran.dg/streamio_3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/streamio_4.f902
-rw-r--r--gcc/testsuite/gfortran.dg/tl_editing.f902
-rw-r--r--gcc/testsuite/gfortran.dg/unf_io_convert_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/unf_io_convert_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f902
-rw-r--r--gcc/testsuite/gfortran.dg/unf_short_record_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/unformatted_recl_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/unformatted_subrecord_1.f902
-rw-r--r--gcc/testsuite/gfortran.dg/vector_subscript_3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/write_back.f2
-rw-r--r--gcc/testsuite/gfortran.dg/write_check3.f902
-rw-r--r--gcc/testsuite/gfortran.dg/write_rewind_1.f2
-rw-r--r--gcc/testsuite/gfortran.dg/write_rewind_2.f2
-rw-r--r--gcc/testsuite/gfortran.dg/x_slash_1.f2
-rw-r--r--gcc/testsuite/gfortran.dg/x_slash_2.f2
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/backspace.x7
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/list_read_1.x7
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/read_null_string.x7
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/seq_io.x7
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/slash_edit.x7
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/unopened_unit_1.x7
-rw-r--r--gcc/testsuite/lib/target-supports.exp39
152 files changed, 310 insertions, 145 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 27064e2..5a28806 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,87 @@
+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>
* gcc.dg/tree-ssa/loop-1.c: Handle i?86-*-mingw* i?86-*-cygwin* as
diff --git a/gcc/testsuite/gfortran.dg/PR19872.f b/gcc/testsuite/gfortran.dg/PR19872.f
index 12bba33..edc743b 100644
--- a/gcc/testsuite/gfortran.dg/PR19872.f
+++ b/gcc/testsuite/gfortran.dg/PR19872.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 19872 - closed and re-opened file not overwriten
implicit none
integer i(4)
diff --git a/gcc/testsuite/gfortran.dg/advance_1.f90 b/gcc/testsuite/gfortran.dg/advance_1.f90
index 9002c52..7e55e94 100644
--- a/gcc/testsuite/gfortran.dg/advance_1.f90
+++ b/gcc/testsuite/gfortran.dg/advance_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25463 Check that advance='no' works correctly.
! Derived from example given in PR by Thomas Koenig
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/advance_4.f90 b/gcc/testsuite/gfortran.dg/advance_4.f90
index ab22311..633f90a 100644
--- a/gcc/testsuite/gfortran.dg/advance_4.f90
+++ b/gcc/testsuite/gfortran.dg/advance_4.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR31207 Last record truncated for read after short write
program main
character(10) :: answer
@@ -7,4 +7,4 @@ program main
read (12, '(6A)') answer
close (12, status="delete")
if (answer /= "XABCDX") call abort()
-end program main \ No newline at end of file
+end program main
diff --git a/gcc/testsuite/gfortran.dg/advance_5.f90 b/gcc/testsuite/gfortran.dg/advance_5.f90
index 3a48e53..f906c72 100644
--- a/gcc/testsuite/gfortran.dg/advance_5.f90
+++ b/gcc/testsuite/gfortran.dg/advance_5.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR31207 Last record truncated for read after short write.
character(len=20) :: b
! write something no advance
diff --git a/gcc/testsuite/gfortran.dg/advance_6.f90 b/gcc/testsuite/gfortran.dg/advance_6.f90
index f1967b0..1a42cca 100644
--- a/gcc/testsuite/gfortran.dg/advance_6.f90
+++ b/gcc/testsuite/gfortran.dg/advance_6.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 34370 - file positioning after non-advancing I/O didn't add
! a record marker.
diff --git a/gcc/testsuite/gfortran.dg/append_1.f90 b/gcc/testsuite/gfortran.dg/append_1.f90
index 8b81bc3..e058914 100644
--- a/gcc/testsuite/gfortran.dg/append_1.f90
+++ b/gcc/testsuite/gfortran.dg/append_1.f90
@@ -1,7 +1,7 @@
! PR libfortran/21471
! Testing POSITION="APPEND"
!
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
subroutine failed
close (10,status='delete')
call abort
diff --git a/gcc/testsuite/gfortran.dg/backslash_1.f90 b/gcc/testsuite/gfortran.dg/backslash_1.f90
index b985134..ab7fc6f 100644
--- a/gcc/testsuite/gfortran.dg/backslash_1.f90
+++ b/gcc/testsuite/gfortran.dg/backslash_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
character(len=4) a
open (10, status='scratch')
write (10,'(A)') '1\n2'
diff --git a/gcc/testsuite/gfortran.dg/backslash_2.f90 b/gcc/testsuite/gfortran.dg/backslash_2.f90
index 2f954d5..dc4714f 100644
--- a/gcc/testsuite/gfortran.dg/backslash_2.f90
+++ b/gcc/testsuite/gfortran.dg/backslash_2.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-fbackslash" }
integer :: i, e
open (10, status='scratch')
diff --git a/gcc/testsuite/gfortran.dg/backslash_3.f b/gcc/testsuite/gfortran.dg/backslash_3.f
index 905d2b4..8625b37 100644
--- a/gcc/testsuite/gfortran.dg/backslash_3.f
+++ b/gcc/testsuite/gfortran.dg/backslash_3.f
@@ -1,4 +1,4 @@
-C { dg-do run }
+C { dg-do run { target fd_truncate } }
C { dg-options "-fbackslash" }
C PR fortran/30278
program a
diff --git a/gcc/testsuite/gfortran.dg/backspace_1.f b/gcc/testsuite/gfortran.dg/backspace_1.f
index c3ec0c4..4cfc9c1 100644
--- a/gcc/testsuite/gfortran.dg/backspace_1.f
+++ b/gcc/testsuite/gfortran.dg/backspace_1.f
@@ -1,5 +1,5 @@
! This file is all about BACKSPACE
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
integer i, n, nr
real x(10), y(10)
diff --git a/gcc/testsuite/gfortran.dg/backspace_10.f90 b/gcc/testsuite/gfortran.dg/backspace_10.f90
index 574d464..368a759 100644
--- a/gcc/testsuite/gfortran.dg/backspace_10.f90
+++ b/gcc/testsuite/gfortran.dg/backspace_10.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR33307 I/O read/positioning problem - in BACKSPACE
! Test case devloped from test in PR by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program gfcbug69b
diff --git a/gcc/testsuite/gfortran.dg/backspace_2.f b/gcc/testsuite/gfortran.dg/backspace_2.f
index a8c55e7..3b63335 100644
--- a/gcc/testsuite/gfortran.dg/backspace_2.f
+++ b/gcc/testsuite/gfortran.dg/backspace_2.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25139 Repeated backspaces and reads.
! Derived from example given in PR by Dale Ranta and FX Coudert
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/backspace_3.f b/gcc/testsuite/gfortran.dg/backspace_3.f
index 419063b9..2006cd4 100644
--- a/gcc/testsuite/gfortran.dg/backspace_3.f
+++ b/gcc/testsuite/gfortran.dg/backspace_3.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25598 Error on repeated backspaces.
! Derived from example given in PR by Dale Ranta
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/backspace_4.f b/gcc/testsuite/gfortran.dg/backspace_4.f
index 69e0f40..6891c3c 100644
--- a/gcc/testsuite/gfortran.dg/backspace_4.f
+++ b/gcc/testsuite/gfortran.dg/backspace_4.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25598 Error on repeated backspaces.
! Derived from example given in PR by Dale Ranta
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/backspace_5.f b/gcc/testsuite/gfortran.dg/backspace_5.f
index 4cd657a..8ae3752 100644
--- a/gcc/testsuite/gfortran.dg/backspace_5.f
+++ b/gcc/testsuite/gfortran.dg/backspace_5.f
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! PR26464 File I/O error related to buffering and BACKSPACE
! Test case derived from case by Dale Ranta.
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/backspace_6.f b/gcc/testsuite/gfortran.dg/backspace_6.f
index 4e594f0..90affdc 100644
--- a/gcc/testsuite/gfortran.dg/backspace_6.f
+++ b/gcc/testsuite/gfortran.dg/backspace_6.f
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! PR26464 File I/O error related to buffering and BACKSPACE
! Test case derived from case by Dale Ranta.
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/backspace_7.f90 b/gcc/testsuite/gfortran.dg/backspace_7.f90
index 4f0b9e9..09cce73 100644
--- a/gcc/testsuite/gfortran.dg/backspace_7.f90
+++ b/gcc/testsuite/gfortran.dg/backspace_7.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
!pr18284 BACKSPACE broken
open(unit=10,access='SEQUENTIAL',status='SCRATCH')
do I = 1,200
diff --git a/gcc/testsuite/gfortran.dg/backspace_8.f b/gcc/testsuite/gfortran.dg/backspace_8.f
index 8c8c96a..c25dd5b 100644
--- a/gcc/testsuite/gfortran.dg/backspace_8.f
+++ b/gcc/testsuite/gfortran.dg/backspace_8.f
@@ -1,4 +1,4 @@
-C { dg-do run }
+C { dg-do run { target fd_truncate } }
C PR libfortran/31618 - backspace after an error didn't work.
program main
character*78 msg
diff --git a/gcc/testsuite/gfortran.dg/backspace_9.f b/gcc/testsuite/gfortran.dg/backspace_9.f
index fe62ea5..01713b9 100644
--- a/gcc/testsuite/gfortran.dg/backspace_9.f
+++ b/gcc/testsuite/gfortran.dg/backspace_9.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR32235 incorrectly position text file after backspace
! Test case from PR, prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program main
diff --git a/gcc/testsuite/gfortran.dg/comma.f b/gcc/testsuite/gfortran.dg/comma.f
index b369bf4..08c4517 100644
--- a/gcc/testsuite/gfortran.dg/comma.f
+++ b/gcc/testsuite/gfortran.dg/comma.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25419 Default input with commas.
! Derived from example given in PR.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/complex_read.f90 b/gcc/testsuite/gfortran.dg/complex_read.f90
index c12b66c..102a135 100644
--- a/gcc/testsuite/gfortran.dg/complex_read.f90
+++ b/gcc/testsuite/gfortran.dg/complex_read.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! Test of the fix to the bug in NIST fm906.for.
! Contributed by Paul Thomas <pault@gcc.gnu.org>
!
diff --git a/gcc/testsuite/gfortran.dg/complex_write.f90 b/gcc/testsuite/gfortran.dg/complex_write.f90
index 694c069..763f3ab 100644
--- a/gcc/testsuite/gfortran.dg/complex_write.f90
+++ b/gcc/testsuite/gfortran.dg/complex_write.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! pr 19071
! test case provided by
! Thomas.Koenig@online.de
diff --git a/gcc/testsuite/gfortran.dg/convert_implied_open.f90 b/gcc/testsuite/gfortran.dg/convert_implied_open.f90
index 9c25b5d..1f0abf3 100644
--- a/gcc/testsuite/gfortran.dg/convert_implied_open.f90
+++ b/gcc/testsuite/gfortran.dg/convert_implied_open.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-fconvert=swap" }
! PR 26735 - implied open didn't use to honor -fconvert
program main
diff --git a/gcc/testsuite/gfortran.dg/dollar_edit_descriptor_1.f b/gcc/testsuite/gfortran.dg/dollar_edit_descriptor_1.f
index af22c45..93e5033 100644
--- a/gcc/testsuite/gfortran.dg/dollar_edit_descriptor_1.f
+++ b/gcc/testsuite/gfortran.dg/dollar_edit_descriptor_1.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-w" }
! PR libfortran/20006
character*5 c
diff --git a/gcc/testsuite/gfortran.dg/dos_eol.f b/gcc/testsuite/gfortran.dg/dos_eol.f
index 3a22a14..77f36a5 100644
--- a/gcc/testsuite/gfortran.dg/dos_eol.f
+++ b/gcc/testsuite/gfortran.dg/dos_eol.f
@@ -1,5 +1,5 @@
! PR libfortran/19678 and PR libfortran/19679
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
integer i, j
open (10,status='scratch')
diff --git a/gcc/testsuite/gfortran.dg/empty_format_1.f90 b/gcc/testsuite/gfortran.dg/empty_format_1.f90
index 79a2d0c..e49ea4a 100644
--- a/gcc/testsuite/gfortran.dg/empty_format_1.f90
+++ b/gcc/testsuite/gfortran.dg/empty_format_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 17709
! We weren't resetting the internal EOR flag correctly, so the second read
! wasn't advancing to the next line.
diff --git a/gcc/testsuite/gfortran.dg/endfile.f b/gcc/testsuite/gfortran.dg/endfile.f
index 6ece545..61b43b8 100644
--- a/gcc/testsuite/gfortran.dg/endfile.f
+++ b/gcc/testsuite/gfortran.dg/endfile.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25550 file data corrupted after reading end of file.
! Derived from example given in PR from Dale Ranta.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/endfile.f90 b/gcc/testsuite/gfortran.dg/endfile.f90
index 1eabe9f..60875ce 100644
--- a/gcc/testsuite/gfortran.dg/endfile.f90
+++ b/gcc/testsuite/gfortran.dg/endfile.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! pr18364 endfile does not truncate file.
! write out 20 records
! rewind
diff --git a/gcc/testsuite/gfortran.dg/eof_1.f90 b/gcc/testsuite/gfortran.dg/eof_1.f90
index 05726bd..09bf923 100644
--- a/gcc/testsuite/gfortran.dg/eof_1.f90
+++ b/gcc/testsuite/gfortran.dg/eof_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! 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
! read.
diff --git a/gcc/testsuite/gfortran.dg/eor_1.f90 b/gcc/testsuite/gfortran.dg/eor_1.f90
index dd3b5e9..fecbe92 100644
--- a/gcc/testsuite/gfortran.dg/eor_1.f90
+++ b/gcc/testsuite/gfortran.dg/eor_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 19451: The test for advance='NO' with eor used to be reversed.
program main
character*2 c
diff --git a/gcc/testsuite/gfortran.dg/eor_handling_1.f90 b/gcc/testsuite/gfortran.dg/eor_handling_1.f90
index 241f8a0..20b1998 100644
--- a/gcc/testsuite/gfortran.dg/eor_handling_1.f90
+++ b/gcc/testsuite/gfortran.dg/eor_handling_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 17992: Reading an empty file should yield zero with pad='YES'
! (which is the default).
! Test case supplied by milan@cmm.ki.si.
diff --git a/gcc/testsuite/gfortran.dg/eor_handling_2.f90 b/gcc/testsuite/gfortran.dg/eor_handling_2.f90
index 9ae5638..ece547b 100644
--- a/gcc/testsuite/gfortran.dg/eor_handling_2.f90
+++ b/gcc/testsuite/gfortran.dg/eor_handling_2.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 19568: Don't read across end of line when the format is longer
! than the line length and pad='yes' (default)
program main
diff --git a/gcc/testsuite/gfortran.dg/eor_handling_3.f90 b/gcc/testsuite/gfortran.dg/eor_handling_3.f90
index 4225e86..7ba5c4b 100644
--- a/gcc/testsuite/gfortran.dg/eor_handling_3.f90
+++ b/gcc/testsuite/gfortran.dg/eor_handling_3.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 19595: Handle end-of-record condition with pad=yes (default)
program main
integer i1, i2
diff --git a/gcc/testsuite/gfortran.dg/eor_handling_4.f90 b/gcc/testsuite/gfortran.dg/eor_handling_4.f90
index 300c10b..ce9fe5e 100644
--- a/gcc/testsuite/gfortran.dg/eor_handling_4.f90
+++ b/gcc/testsuite/gfortran.dg/eor_handling_4.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 20092, 20131: Handle end-of-record condition with pad=yes (default)
! for standard input. This test case only really tests anything if,
! by changing unit 5, you get to manipulate the standard input.
diff --git a/gcc/testsuite/gfortran.dg/eor_handling_5.f90 b/gcc/testsuite/gfortran.dg/eor_handling_5.f90
index c116fb7..661d67c 100644
--- a/gcc/testsuite/gfortran.dg/eor_handling_5.f90
+++ b/gcc/testsuite/gfortran.dg/eor_handling_5.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 20661: Handle non-advancing I/O with iostat
! Test case by Walt Brainerd, The Fortran Company
diff --git a/gcc/testsuite/gfortran.dg/error_recovery_5.f90 b/gcc/testsuite/gfortran.dg/error_recovery_5.f90
index 88acf93..9cb696c 100644
--- a/gcc/testsuite/gfortran.dg/error_recovery_5.f90
+++ b/gcc/testsuite/gfortran.dg/error_recovery_5.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR34411 hang-up during read of non-expected input
! Test case derived from that given in PR
! Prior to patch, the do loop was infinite, limits set in this one
diff --git a/gcc/testsuite/gfortran.dg/fgetc_1.f90 b/gcc/testsuite/gfortran.dg/fgetc_1.f90
index 966e15a..6277f3c 100644
--- a/gcc/testsuite/gfortran.dg/fgetc_1.f90
+++ b/gcc/testsuite/gfortran.dg/fgetc_1.f90
@@ -1,5 +1,5 @@
! Testcase for the FGETC and FPUTC intrinsics
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
character(len=5) s
integer st
diff --git a/gcc/testsuite/gfortran.dg/fgetc_2.f90 b/gcc/testsuite/gfortran.dg/fgetc_2.f90
index 6dd12c4..9c1a5da 100644
--- a/gcc/testsuite/gfortran.dg/fgetc_2.f90
+++ b/gcc/testsuite/gfortran.dg/fgetc_2.f90
@@ -1,5 +1,5 @@
! Testcase for the FGETC and FPUTC intrinsics
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
character(len=5) s
integer st
diff --git a/gcc/testsuite/gfortran.dg/flush_1.f90 b/gcc/testsuite/gfortran.dg/flush_1.f90
index 90875dc..e35955a 100644
--- a/gcc/testsuite/gfortran.dg/flush_1.f90
+++ b/gcc/testsuite/gfortran.dg/flush_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 22390 Implement flush statement
program flush_1
diff --git a/gcc/testsuite/gfortran.dg/fmt_exhaust.f90 b/gcc/testsuite/gfortran.dg/fmt_exhaust.f90
index 5db3405..bea3f80 100644
--- a/gcc/testsuite/gfortran.dg/fmt_exhaust.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_exhaust.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR27304 Test running out of data descriptors with data remaining.
! Derived from case in PR. Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>.
program test
diff --git a/gcc/testsuite/gfortran.dg/fmt_huge.f90 b/gcc/testsuite/gfortran.dg/fmt_huge.f90
index 43c4e2a..f7b243c 100644
--- a/gcc/testsuite/gfortran.dg/fmt_huge.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_huge.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR32446 printing big numbers in F0.1 format.
! This segfaulted before the patch.
open (10, status="scratch")
diff --git a/gcc/testsuite/gfortran.dg/fmt_read.f90 b/gcc/testsuite/gfortran.dg/fmt_read.f90
index 3b33946..779ebae 100644
--- a/gcc/testsuite/gfortran.dg/fmt_read.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_read.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! pr18398, missing data on sequential formatted reads
! test contributed by Thomas.Koenig@online.de
open(7,status='scratch')
diff --git a/gcc/testsuite/gfortran.dg/fmt_t_1.f90 b/gcc/testsuite/gfortran.dg/fmt_t_1.f90
index 157ba13..a456265 100644
--- a/gcc/testsuite/gfortran.dg/fmt_t_1.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_t_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
integer nrow, vec(15)
open (10, status="scratch")
write (10, fmt='(a)') '001 1 2 3 4 5 6'
diff --git a/gcc/testsuite/gfortran.dg/fmt_t_2.f90 b/gcc/testsuite/gfortran.dg/fmt_t_2.f90
index c2b8694..6fe8c38 100644
--- a/gcc/testsuite/gfortran.dg/fmt_t_2.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_t_2.f90
@@ -1,5 +1,5 @@
! { dg-options "" }
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! pr24699, handle end-of-record on READ with T format
! test contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
character*132 :: foost1, foost2, foost3
diff --git a/gcc/testsuite/gfortran.dg/fmt_t_3.f90 b/gcc/testsuite/gfortran.dg/fmt_t_3.f90
index 1ec67e1..c7bf8e8 100644
--- a/gcc/testsuite/gfortran.dg/fmt_t_3.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_t_3.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR31051 bug with x and t format descriptors.
! Test case prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org> from PR.
program t
diff --git a/gcc/testsuite/gfortran.dg/fmt_t_4.f90 b/gcc/testsuite/gfortran.dg/fmt_t_4.f90
index e40a4fc..62b8d49 100644
--- a/gcc/testsuite/gfortran.dg/fmt_t_4.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_t_4.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR31199, test case from PR report.
program write_write
character(len=20) :: a,b,c
diff --git a/gcc/testsuite/gfortran.dg/fmt_t_5.f90 b/gcc/testsuite/gfortran.dg/fmt_t_5.f90
index 14185cc..c472e89 100644
--- a/gcc/testsuite/gfortran.dg/fmt_t_5.f90
+++ b/gcc/testsuite/gfortran.dg/fmt_t_5.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR32678 GFortan works incorrectly when writing with FORMAT Tx
! Before patch, NULLs were inserted in output.
! Test case from reporter enhanced to detect this problem.
diff --git a/gcc/testsuite/gfortran.dg/fmt_t_7.f b/gcc/testsuite/gfortran.dg/fmt_t_7.f
index 443cd2f..baef07e 100644
--- a/gcc/testsuite/gfortran.dg/fmt_t_7.f
+++ b/gcc/testsuite/gfortran.dg/fmt_t_7.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR34974 null bytes when reverse-tabbing long records
! Test case prpared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program test
diff --git a/gcc/testsuite/gfortran.dg/fseek.f90 b/gcc/testsuite/gfortran.dg/fseek.f90
index a42575c..acc8211 100644
--- a/gcc/testsuite/gfortran.dg/fseek.f90
+++ b/gcc/testsuite/gfortran.dg/fseek.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
PROGRAM test_fseek
INTEGER, PARAMETER :: SEEK_SET = 0, SEEK_CUR = 1, SEEK_END = 2, fd=10
diff --git a/gcc/testsuite/gfortran.dg/ftell_1.f90 b/gcc/testsuite/gfortran.dg/ftell_1.f90
index 4f617ac..59ea85e 100644
--- a/gcc/testsuite/gfortran.dg/ftell_1.f90
+++ b/gcc/testsuite/gfortran.dg/ftell_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
integer(kind=8) o, o2
open (10, status="scratch")
diff --git a/gcc/testsuite/gfortran.dg/ftell_2.f90 b/gcc/testsuite/gfortran.dg/ftell_2.f90
index ec7c96c..d8fd348 100644
--- a/gcc/testsuite/gfortran.dg/ftell_2.f90
+++ b/gcc/testsuite/gfortran.dg/ftell_2.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
integer(kind=8) o
open (10, status="scratch")
if (ftell(10) /= 0) call abort
diff --git a/gcc/testsuite/gfortran.dg/func_derived_3.f90 b/gcc/testsuite/gfortran.dg/func_derived_3.f90
index 6facf21..5eb60cf 100644
--- a/gcc/testsuite/gfortran.dg/func_derived_3.f90
+++ b/gcc/testsuite/gfortran.dg/func_derived_3.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! This tests the "virtual fix" for PR19561, where pointers to derived
! types were not generating correct code. This testcase is based on
! the original PR example. This example not only tests the
diff --git a/gcc/testsuite/gfortran.dg/inquire_5.f90 b/gcc/testsuite/gfortran.dg/inquire_5.f90
index 2a5678b..b2e07be 100644
--- a/gcc/testsuite/gfortran.dg/inquire_5.f90
+++ b/gcc/testsuite/gfortran.dg/inquire_5.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! pr19314 inquire(..position=..) segfaults
! test by Thomas.Koenig@online.de
! bdavis9659@comcast.net
diff --git a/gcc/testsuite/gfortran.dg/inquire_9.f90 b/gcc/testsuite/gfortran.dg/inquire_9.f90
index 99cd1af..407eddb 100644
--- a/gcc/testsuite/gfortran.dg/inquire_9.f90
+++ b/gcc/testsuite/gfortran.dg/inquire_9.f90
@@ -1,5 +1,5 @@
! PR fortran/24774
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
logical :: l
l = .true.
inquire (file='inquire_9 file that should not exist', exist=l)
diff --git a/gcc/testsuite/gfortran.dg/iostat_1.f90 b/gcc/testsuite/gfortran.dg/iostat_1.f90
index 79bc001..2517eb9 100644
--- a/gcc/testsuite/gfortran.dg/iostat_1.f90
+++ b/gcc/testsuite/gfortran.dg/iostat_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 23598 - The iostat variable wasn't reset if the previous
! I/O library call had an error.
program main
diff --git a/gcc/testsuite/gfortran.dg/iostat_2.f90 b/gcc/testsuite/gfortran.dg/iostat_2.f90
index afda93e..f475064 100644
--- a/gcc/testsuite/gfortran.dg/iostat_2.f90
+++ b/gcc/testsuite/gfortran.dg/iostat_2.f90
@@ -1,5 +1,5 @@
! PR libfortran/23784
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
integer i
close(10, status="whatever", iostat=i) ! { dg-warning "STATUS specifier in CLOSE statement.*has invalid value" }
if (i == 0) call abort()
diff --git a/gcc/testsuite/gfortran.dg/list_read_1.f90 b/gcc/testsuite/gfortran.dg/list_read_1.f90
index 6fba90a..2a2c5d1 100644
--- a/gcc/testsuite/gfortran.dg/list_read_1.f90
+++ b/gcc/testsuite/gfortran.dg/list_read_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! Program to test terminators in list-directed input
program list_read_1
character(len=5) :: s
diff --git a/gcc/testsuite/gfortran.dg/list_read_4.f90 b/gcc/testsuite/gfortran.dg/list_read_4.f90
index fb1770e..ba17625 100644
--- a/gcc/testsuite/gfortran.dg/list_read_4.f90
+++ b/gcc/testsuite/gfortran.dg/list_read_4.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! Test of gfortran list directed read> check delimiters are correctly
! treated. Written in f77 so that g77 will run for comparison.
!
diff --git a/gcc/testsuite/gfortran.dg/list_read_5.f90 b/gcc/testsuite/gfortran.dg/list_read_5.f90
index f69d1f3..658c524 100644
--- a/gcc/testsuite/gfortran.dg/list_read_5.f90
+++ b/gcc/testsuite/gfortran.dg/list_read_5.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25307 Check handling of end-of-file conditions for list directed reads.
! Prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program pr25307
diff --git a/gcc/testsuite/gfortran.dg/list_read_6.f90 b/gcc/testsuite/gfortran.dg/list_read_6.f90
index 5bab50b..296d94c 100644
--- a/gcc/testsuite/gfortran.dg/list_read_6.f90
+++ b/gcc/testsuite/gfortran.dg/list_read_6.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR30435 Slash at end of input not recognized according to standard.
! Test case from PR by Steve Kargl.
diff --git a/gcc/testsuite/gfortran.dg/list_read_7.f90 b/gcc/testsuite/gfortran.dg/list_read_7.f90
index 4ee0835..f9800f2 100644
--- a/gcc/testsuite/gfortran.dg/list_read_7.f90
+++ b/gcc/testsuite/gfortran.dg/list_read_7.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR33400 Formatted read fails if line ends without line break
! Test case modified from that in PR by <jvdelisle@gcc.gnu.org>
integer, parameter :: fgsl_strmax = 128
diff --git a/gcc/testsuite/gfortran.dg/list_read_8.f90 b/gcc/testsuite/gfortran.dg/list_read_8.f90
index 4be75fd..85fa857 100644
--- a/gcc/testsuite/gfortran.dg/list_read_8.f90
+++ b/gcc/testsuite/gfortran.dg/list_read_8.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR34676 IO error delayed
! Test case from PR modified by <jvdelisle@gcc.gnu.org>
implicit none
diff --git a/gcc/testsuite/gfortran.dg/namelist_11.f b/gcc/testsuite/gfortran.dg/namelist_11.f
index a8705cc..672ee26 100644
--- a/gcc/testsuite/gfortran.dg/namelist_11.f
+++ b/gcc/testsuite/gfortran.dg/namelist_11.f
@@ -1,4 +1,4 @@
-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 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
diff --git a/gcc/testsuite/gfortran.dg/namelist_12.f b/gcc/testsuite/gfortran.dg/namelist_12.f
index 69fe3d8..dca9645 100644
--- a/gcc/testsuite/gfortran.dg/namelist_12.f
+++ b/gcc/testsuite/gfortran.dg/namelist_12.f
@@ -1,4 +1,4 @@
-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 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,
diff --git a/gcc/testsuite/gfortran.dg/namelist_13.f90 b/gcc/testsuite/gfortran.dg/namelist_13.f90
index 185b522..1688e8d 100644
--- a/gcc/testsuite/gfortran.dg/namelist_13.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_13.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! Tests simple derived types.
! Provided by Paul Thomas - pault@gcc.gnu.org
diff --git a/gcc/testsuite/gfortran.dg/namelist_14.f90 b/gcc/testsuite/gfortran.dg/namelist_14.f90
index 729f1b2..d6ab294 100644
--- a/gcc/testsuite/gfortran.dg/namelist_14.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_14.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! Tests various combinations of intrinsic types, derived types, arrays,
! dummy arguments and common to check nml_get_addr_expr in trans-io.c.
! See comments below for selection.
diff --git a/gcc/testsuite/gfortran.dg/namelist_15.f90 b/gcc/testsuite/gfortran.dg/namelist_15.f90
index e900e71..65b015c 100644
--- a/gcc/testsuite/gfortran.dg/namelist_15.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_15.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! Tests arrays of derived types containing derived type arrays whose
! components are character arrays - exercises object name parser in
! list_read.c. Checks that namelist output can be reread.
diff --git a/gcc/testsuite/gfortran.dg/namelist_16.f90 b/gcc/testsuite/gfortran.dg/namelist_16.f90
index c6eb8f7..023816f 100644
--- a/gcc/testsuite/gfortran.dg/namelist_16.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_16.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! Tests namelist on complex variables
! provided by Paul Thomas - pault@gcc.gnu.org
program namelist_16
diff --git a/gcc/testsuite/gfortran.dg/namelist_17.f90 b/gcc/testsuite/gfortran.dg/namelist_17.f90
index e3eac52..a802a22 100644
--- a/gcc/testsuite/gfortran.dg/namelist_17.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_17.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! Tests namelist on logical variables
! provided by Paul Thomas - pault@gcc.gnu.org
diff --git a/gcc/testsuite/gfortran.dg/namelist_18.f90 b/gcc/testsuite/gfortran.dg/namelist_18.f90
index eba8b6b..f5d4b3d 100644
--- a/gcc/testsuite/gfortran.dg/namelist_18.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_18.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! Tests character delimiters for namelist write
! provided by Paul Thomas - pault@gcc.gnu.org
diff --git a/gcc/testsuite/gfortran.dg/namelist_19.f90 b/gcc/testsuite/gfortran.dg/namelist_19.f90
index c06abf5..f7c6d69 100644
--- a/gcc/testsuite/gfortran.dg/namelist_19.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_19.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! Test namelist error trapping.
! provided by Paul Thomas - pault@gcc.gnu.org
diff --git a/gcc/testsuite/gfortran.dg/namelist_20.f90 b/gcc/testsuite/gfortran.dg/namelist_20.f90
index 155cf6f..9b2d896 100644
--- a/gcc/testsuite/gfortran.dg/namelist_20.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_20.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! Tests namelist io for an explicit shape array with negative bounds
! provided by Paul Thomas - pault@gcc.gnu.org
diff --git a/gcc/testsuite/gfortran.dg/namelist_21.f90 b/gcc/testsuite/gfortran.dg/namelist_21.f90
index 463ef1b..8d2852d 100644
--- a/gcc/testsuite/gfortran.dg/namelist_21.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_21.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! Tests filling arrays from a namelist read when object list is not complete.
! Developed from a test case provided by Christoph Jacob.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>.
diff --git a/gcc/testsuite/gfortran.dg/namelist_22.f90 b/gcc/testsuite/gfortran.dg/namelist_22.f90
index 6face8b..3119e80 100644
--- a/gcc/testsuite/gfortran.dg/namelist_22.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_22.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! 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
! of commas. Developed from a test case provided by Christoph Jacob.
diff --git a/gcc/testsuite/gfortran.dg/namelist_23.f90 b/gcc/testsuite/gfortran.dg/namelist_23.f90
index 70a0080..7d69ef6 100644
--- a/gcc/testsuite/gfortran.dg/namelist_23.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_23.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! PR26136 Filling logical variables from namelist read when object list is not
! complete. Test case derived from PR.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/namelist_24.f90 b/gcc/testsuite/gfortran.dg/namelist_24.f90
index 11cd2d0..c89ab3d 100644
--- a/gcc/testsuite/gfortran.dg/namelist_24.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_24.f90
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
!{ dg-options -std=gnu }
! Tests namelist read when more data is provided then specified by
! array qualifier in list.
diff --git a/gcc/testsuite/gfortran.dg/namelist_26.f90 b/gcc/testsuite/gfortran.dg/namelist_26.f90
index 2c1b260..a9cf4fd 100644
--- a/gcc/testsuite/gfortran.dg/namelist_26.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_26.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR30918 Failure to skip commented out NAMELIST
! Before the patch, this read the commented out namelist and iuse would
! equal 2 when done. Test case from PR.
diff --git a/gcc/testsuite/gfortran.dg/namelist_27.f90 b/gcc/testsuite/gfortran.dg/namelist_27.f90
index 10b0031..e645ca5 100644
--- a/gcc/testsuite/gfortran.dg/namelist_27.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_27.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF.
! Patch derived from PR, submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program gfcbug61
diff --git a/gcc/testsuite/gfortran.dg/namelist_28.f90 b/gcc/testsuite/gfortran.dg/namelist_28.f90
index 53b1f0f..09015d5 100644
--- a/gcc/testsuite/gfortran.dg/namelist_28.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_28.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR31052 Bad IOSTAT values when readings NAMELISTs past EOF.
! Patch derived from PR, submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program gfcbug61
diff --git a/gcc/testsuite/gfortran.dg/namelist_37.f90 b/gcc/testsuite/gfortran.dg/namelist_37.f90
index 9ff6297..e200ad0 100644
--- a/gcc/testsuite/gfortran.dg/namelist_37.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_37.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR33039 Read NAMELIST: reads wrong namelist name
! Test case from PR modified by Jerry DeLisle <jvdelisle@gcc.gnu.org>
PROGRAM namelist
diff --git a/gcc/testsuite/gfortran.dg/namelist_38.f90 b/gcc/testsuite/gfortran.dg/namelist_38.f90
index 5578654..ed05369 100644
--- a/gcc/testsuite/gfortran.dg/namelist_38.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_38.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR33253 namelist: reading back a string, also fixed writing with delimiters.
! Test case modified from that of the PR by
! Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/namelist_39.f90 b/gcc/testsuite/gfortran.dg/namelist_39.f90
index 3672140..82e631e 100644
--- a/gcc/testsuite/gfortran.dg/namelist_39.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_39.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR33421 and PR33253 Weird quotation of namelist output of character arrays
! Test case from Toon Moone, adapted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/namelist_40.f90 b/gcc/testsuite/gfortran.dg/namelist_40.f90
index 3c9d813..5e2c9d8 100644
--- a/gcc/testsuite/gfortran.dg/namelist_40.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_40.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR33672 Additional runtime checks needed for namelist reads
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/namelist_41.f90 b/gcc/testsuite/gfortran.dg/namelist_41.f90
index 2d9a71a..16e0d42 100644
--- a/gcc/testsuite/gfortran.dg/namelist_41.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_41.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR34291 Segfault on &end in namelist expanded read of character
implicit none
character(len=10), dimension(2) :: var
diff --git a/gcc/testsuite/gfortran.dg/namelist_42.f90 b/gcc/testsuite/gfortran.dg/namelist_42.f90
index e2efb6f..55dd2ca 100644
--- a/gcc/testsuite/gfortran.dg/namelist_42.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_42.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-mieee" { target sh*-*-* } }
!
! PR fortran/34427
diff --git a/gcc/testsuite/gfortran.dg/namelist_43.f90 b/gcc/testsuite/gfortran.dg/namelist_43.f90
index 467b11d..abad355 100644
--- a/gcc/testsuite/gfortran.dg/namelist_43.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_43.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-mieee" { target sh*-*-* } }
!
! PR fortran/34427
diff --git a/gcc/testsuite/gfortran.dg/namelist_44.f90 b/gcc/testsuite/gfortran.dg/namelist_44.f90
index 1439902..35ea667 100644
--- a/gcc/testsuite/gfortran.dg/namelist_44.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_44.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
!
! PR fortran/34530
!
diff --git a/gcc/testsuite/gfortran.dg/namelist_char_only.f90 b/gcc/testsuite/gfortran.dg/namelist_char_only.f90
index 9993669..ff06171 100644
--- a/gcc/testsuite/gfortran.dg/namelist_char_only.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_char_only.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-O0" }
! Test patch for PR24416.f90 - a used to come back from the read with var
! prepended.
diff --git a/gcc/testsuite/gfortran.dg/namelist_use.f90 b/gcc/testsuite/gfortran.dg/namelist_use.f90
index 0460630..ab84686 100644
--- a/gcc/testsuite/gfortran.dg/namelist_use.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_use.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! 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
! associated and another that is concatenated by USE and host association.
diff --git a/gcc/testsuite/gfortran.dg/namelist_use_only.f90 b/gcc/testsuite/gfortran.dg/namelist_use_only.f90
index a9adf01..ce80d5e 100644
--- a/gcc/testsuite/gfortran.dg/namelist_use_only.f90
+++ b/gcc/testsuite/gfortran.dg/namelist_use_only.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! 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
! selected by an ONLY declaration work correctly, even when the variables in
diff --git a/gcc/testsuite/gfortran.dg/noadv_size.f90 b/gcc/testsuite/gfortran.dg/noadv_size.f90
index a3a88b1..cfc507a 100644
--- a/gcc/testsuite/gfortran.dg/noadv_size.f90
+++ b/gcc/testsuite/gfortran.dg/noadv_size.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 20774: Handle size parameter for non-advancing I/O correctly
program main
open(77,status='scratch')
diff --git a/gcc/testsuite/gfortran.dg/open_access_append_1.f90 b/gcc/testsuite/gfortran.dg/open_access_append_1.f90
index 8dae327..f67a8a9 100644
--- a/gcc/testsuite/gfortran.dg/open_access_append_1.f90
+++ b/gcc/testsuite/gfortran.dg/open_access_append_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! Testcase for the GNU extension OPEN(...,ACCESS="APPEND")
open (10,file="foo")
close (10,status="delete")
diff --git a/gcc/testsuite/gfortran.dg/open_readonly_1.f90 b/gcc/testsuite/gfortran.dg/open_readonly_1.f90
index 3adbbd3..87d3ba7 100644
--- a/gcc/testsuite/gfortran.dg/open_readonly_1.f90
+++ b/gcc/testsuite/gfortran.dg/open_readonly_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR19451
! Writing to a non-empty readonly file caused a segfault.
! We were still trying to write the EOR after an error ocurred
diff --git a/gcc/testsuite/gfortran.dg/overwrite_1.f b/gcc/testsuite/gfortran.dg/overwrite_1.f
index dda9a8b..f6c5fdb 100644
--- a/gcc/testsuite/gfortran.dg/overwrite_1.f
+++ b/gcc/testsuite/gfortran.dg/overwrite_1.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 19872 - closed and re-opened file not overwriten
implicit none
integer i(4)
diff --git a/gcc/testsuite/gfortran.dg/pad_no.f90 b/gcc/testsuite/gfortran.dg/pad_no.f90
index c023ade..1b5fb2f 100644
--- a/gcc/testsuite/gfortran.dg/pad_no.f90
+++ b/gcc/testsuite/gfortran.dg/pad_no.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! Test correct operation for pad='no'.
program main
character(len=1) line(2)
diff --git a/gcc/testsuite/gfortran.dg/pr12884.f b/gcc/testsuite/gfortran.dg/pr12884.f
index 425604c..811bef1 100644
--- a/gcc/testsuite/gfortran.dg/pr12884.f
+++ b/gcc/testsuite/gfortran.dg/pr12884.f
@@ -1,4 +1,4 @@
-c { dg-do run }
+c { dg-do run { target fd_truncate } }
c pr 12884
c test namelist with input file containg / before namelist. Also checks
c non-standard use of $ instead of &
diff --git a/gcc/testsuite/gfortran.dg/pr17090.f90 b/gcc/testsuite/gfortran.dg/pr17090.f90
index 6a685c2..bae2bb7 100644
--- a/gcc/testsuite/gfortran.dg/pr17090.f90
+++ b/gcc/testsuite/gfortran.dg/pr17090.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! pr 17090 Runtime I/O error
! bdavis9659@comcast.net
! 9/12/2004
diff --git a/gcc/testsuite/gfortran.dg/pr17285.f90 b/gcc/testsuite/gfortran.dg/pr17285.f90
index 58aee32..8aa353c 100644
--- a/gcc/testsuite/gfortran.dg/pr17285.f90
+++ b/gcc/testsuite/gfortran.dg/pr17285.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! pr 17285
! Test that namelist can read its own output.
! At the same time, check arrays and different terminations
diff --git a/gcc/testsuite/gfortran.dg/pr17286.f90 b/gcc/testsuite/gfortran.dg/pr17286.f90
index e9beb6d..5b94694 100644
--- a/gcc/testsuite/gfortran.dg/pr17286.f90
+++ b/gcc/testsuite/gfortran.dg/pr17286.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR17286
! Namelist read failed when spaces exist between the '=' and the numbers
! This is a libgfortran bug
diff --git a/gcc/testsuite/gfortran.dg/pr18122.f90 b/gcc/testsuite/gfortran.dg/pr18122.f90
index 3907f0a..6e7f200 100644
--- a/gcc/testsuite/gfortran.dg/pr18122.f90
+++ b/gcc/testsuite/gfortran.dg/pr18122.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! test namelist with scalars and arrays.
! Based on example provided by thomas.koenig@online.de
diff --git a/gcc/testsuite/gfortran.dg/pr18210.f90 b/gcc/testsuite/gfortran.dg/pr18210.f90
index 6095984..253f291 100644
--- a/gcc/testsuite/gfortran.dg/pr18210.f90
+++ b/gcc/testsuite/gfortran.dg/pr18210.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! Names in upper case and object names starting column 2
! Based on example provided by thomas.koenig@online.de
diff --git a/gcc/testsuite/gfortran.dg/pr18392.f90 b/gcc/testsuite/gfortran.dg/pr18392.f90
index de156f5..3c15d4b 100644
--- a/gcc/testsuite/gfortran.dg/pr18392.f90
+++ b/gcc/testsuite/gfortran.dg/pr18392.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! pr 18392
! test namelist with derived types
! Based on example provided by thomas.koenig@online.de
diff --git a/gcc/testsuite/gfortran.dg/pr19155.f b/gcc/testsuite/gfortran.dg/pr19155.f
index 6387c3f..003c7fd 100644
--- a/gcc/testsuite/gfortran.dg/pr19155.f
+++ b/gcc/testsuite/gfortran.dg/pr19155.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
!
! PR libfortran/19155
! We accept 'E+00' as a valid real number. The standard says it is not,
diff --git a/gcc/testsuite/gfortran.dg/pr19216.f b/gcc/testsuite/gfortran.dg/pr19216.f
index 76c3938..40b3b5a 100644
--- a/gcc/testsuite/gfortran.dg/pr19216.f
+++ b/gcc/testsuite/gfortran.dg/pr19216.f
@@ -1,5 +1,5 @@
! PR libfortran/19216
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
integer dat(3), i, j
data dat / 3,2,1 /
diff --git a/gcc/testsuite/gfortran.dg/pr19467.f90 b/gcc/testsuite/gfortran.dg/pr19467.f90
index ab4fa99..03cc745 100644
--- a/gcc/testsuite/gfortran.dg/pr19467.f90
+++ b/gcc/testsuite/gfortran.dg/pr19467.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! pr 19467
! test namelist with character arrays
! Based on example provided by paulthomas2@wanadoo.fr
diff --git a/gcc/testsuite/gfortran.dg/pr19657.f b/gcc/testsuite/gfortran.dg/pr19657.f
index 1fe32ac..a8e2012 100644
--- a/gcc/testsuite/gfortran.dg/pr19657.f
+++ b/gcc/testsuite/gfortran.dg/pr19657.f
@@ -1,4 +1,4 @@
-c { dg-do run }
+c { dg-do run { target fd_truncate } }
c pr 19657
c test namelist not skipped if ending with logical.
c Based on example provided by fuyuki@ccsr.u-tokyo.ac.jp
diff --git a/gcc/testsuite/gfortran.dg/pr20257.f90 b/gcc/testsuite/gfortran.dg/pr20257.f90
index 3808829..ca5a00b 100644
--- a/gcc/testsuite/gfortran.dg/pr20257.f90
+++ b/gcc/testsuite/gfortran.dg/pr20257.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
integer,parameter :: n = 10000
real(8) array(10000)
diff --git a/gcc/testsuite/gfortran.dg/read_bad_advance.f90 b/gcc/testsuite/gfortran.dg/read_bad_advance.f90
index 5b43cfe..3ca4493 100644
--- a/gcc/testsuite/gfortran.dg/read_bad_advance.f90
+++ b/gcc/testsuite/gfortran.dg/read_bad_advance.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR27138 Failure to advance line on bad list directed read.
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program test
diff --git a/gcc/testsuite/gfortran.dg/read_comma.f b/gcc/testsuite/gfortran.dg/read_comma.f
index 593c56d..024fcea 100644
--- a/gcc/testsuite/gfortran.dg/read_comma.f
+++ b/gcc/testsuite/gfortran.dg/read_comma.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25039 This test checks that commas in input fields for formatted sequential
! reads are interpreted as the read completion. If no comma is encountered the
! normal field width determines the end of the read. The test case also checks
diff --git a/gcc/testsuite/gfortran.dg/read_eof_1.f90 b/gcc/testsuite/gfortran.dg/read_eof_1.f90
index b5c4901..78ff14a 100644
--- a/gcc/testsuite/gfortran.dg/read_eof_1.f90
+++ b/gcc/testsuite/gfortran.dg/read_eof_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25697 Check that reading from a file that is at end-of-file does not
! segfault or give error. Test case derived from example in PR from Dale Ranta.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/read_eof_2.f90 b/gcc/testsuite/gfortran.dg/read_eof_2.f90
index 9017548..539553d 100644
--- a/gcc/testsuite/gfortran.dg/read_eof_2.f90
+++ b/gcc/testsuite/gfortran.dg/read_eof_2.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25835 Check that reading from a file that is at end-of-file does not
! segfault or give error. Test case derived from example in PR from Dale Ranta.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/read_eof_3.f90 b/gcc/testsuite/gfortran.dg/read_eof_3.f90
index 5cca802..af35aa6 100644
--- a/gcc/testsuite/gfortran.dg/read_eof_3.f90
+++ b/gcc/testsuite/gfortran.dg/read_eof_3.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25835 Check that reading from a file that is at end-of-file does not
! segfault or give error. Test case derived from example in PR from Dale Ranta.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/read_eof_4.f90 b/gcc/testsuite/gfortran.dg/read_eof_4.f90
index ee95268..da0ae5c 100644
--- a/gcc/testsuite/gfortran.dg/read_eof_4.f90
+++ b/gcc/testsuite/gfortran.dg/read_eof_4.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 27575 and PR 30009: This test checks the error checking for end
! of file condition.
! Derived from test case in PR.
diff --git a/gcc/testsuite/gfortran.dg/read_many_1.f b/gcc/testsuite/gfortran.dg/read_many_1.f
index 4fac689..d015cf8 100644
--- a/gcc/testsuite/gfortran.dg/read_many_1.f
+++ b/gcc/testsuite/gfortran.dg/read_many_1.f
@@ -1,4 +1,4 @@
-!{ dg-do run }
+!{ dg-do run { target fd_truncate } }
! PR26423 Large file I/O error related to buffering
! Test case derived from case by Dale Ranta.
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/read_noadvance.f90 b/gcc/testsuite/gfortran.dg/read_noadvance.f90
index e55763a..987d811 100644
--- a/gcc/testsuite/gfortran.dg/read_noadvance.f90
+++ b/gcc/testsuite/gfortran.dg/read_noadvance.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! pr24719, non-advancing read should read more than one line
! test contributed by jerry delisle <jvdelisle@gcc.gnu.org>
implicit none
diff --git a/gcc/testsuite/gfortran.dg/read_size_noadvance.f90 b/gcc/testsuite/gfortran.dg/read_size_noadvance.f90
index 819a28d..37ecff9 100644
--- a/gcc/testsuite/gfortran.dg/read_size_noadvance.f90
+++ b/gcc/testsuite/gfortran.dg/read_size_noadvance.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR26890 Test for use of SIZE variable in IO list.
! Test case from Paul Thomas.
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
diff --git a/gcc/testsuite/gfortran.dg/read_x_past.f b/gcc/testsuite/gfortran.dg/read_x_past.f
index 4a6d053..16f6623 100644
--- a/gcc/testsuite/gfortran.dg/read_x_past.f
+++ b/gcc/testsuite/gfortran.dg/read_x_past.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options -w }
! PR 26661 : Test reading X's past file end with no LF or CR.
! PR 26880 : Tests that rewind clears the gfc_unit read_bad flag.
diff --git a/gcc/testsuite/gfortran.dg/record_marker_1.f90 b/gcc/testsuite/gfortran.dg/record_marker_1.f90
index 5bcfbc6..d5d5a2e 100644
--- a/gcc/testsuite/gfortran.dg/record_marker_1.f90
+++ b/gcc/testsuite/gfortran.dg/record_marker_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-frecord-marker=4" }
program main
diff --git a/gcc/testsuite/gfortran.dg/record_marker_2.f b/gcc/testsuite/gfortran.dg/record_marker_2.f
index 725af12..83ee7fe 100644
--- a/gcc/testsuite/gfortran.dg/record_marker_2.f
+++ b/gcc/testsuite/gfortran.dg/record_marker_2.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-frecord-marker=4" }
! This file is all about BACKSPACE
! Adapted from gfortran.dg/backspace.f
diff --git a/gcc/testsuite/gfortran.dg/record_marker_3.f90 b/gcc/testsuite/gfortran.dg/record_marker_3.f90
index 7459d72..dd9d455 100644
--- a/gcc/testsuite/gfortran.dg/record_marker_3.f90
+++ b/gcc/testsuite/gfortran.dg/record_marker_3.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-frecord-marker=8" }
program main
diff --git a/gcc/testsuite/gfortran.dg/rewind_1.f90 b/gcc/testsuite/gfortran.dg/rewind_1.f90
index cbd2ef1..61392ab 100644
--- a/gcc/testsuite/gfortran.dg/rewind_1.f90
+++ b/gcc/testsuite/gfortran.dg/rewind_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! Check that rewind doesn't delete a file.
! Writing to the file truncates it at the end of the current record. Out
! IO library was defering the actual truncation until the file was rewound.
diff --git a/gcc/testsuite/gfortran.dg/runtime_warning_1.f90 b/gcc/testsuite/gfortran.dg/runtime_warning_1.f90
index 6af85c3..c27e7a2 100644
--- a/gcc/testsuite/gfortran.dg/runtime_warning_1.f90
+++ b/gcc/testsuite/gfortran.dg/runtime_warning_1.f90
@@ -3,7 +3,7 @@
! Contributor Francois-Xavier Coudert <coudert@clipper.ens.fr>
!
! { dg-options "-pedantic" }
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
!
character*5 c
open (42,status='scratch')
diff --git a/gcc/testsuite/gfortran.dg/shape_3.f90 b/gcc/testsuite/gfortran.dg/shape_3.f90
index ea725a0..f715645 100644
--- a/gcc/testsuite/gfortran.dg/shape_3.f90
+++ b/gcc/testsuite/gfortran.dg/shape_3.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 34980 - we got a segfault for calling shape
! with a scalar.
program main
diff --git a/gcc/testsuite/gfortran.dg/slash_1.f90 b/gcc/testsuite/gfortran.dg/slash_1.f90
index d4a59a3..b62b338 100644
--- a/gcc/testsuite/gfortran.dg/slash_1.f90
+++ b/gcc/testsuite/gfortran.dg/slash_1.f90
@@ -1,5 +1,5 @@
! PR libfortran/22170
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
integer i
open (10,status='scratch')
write (10,'(A,2/,A)') '12', '17'
diff --git a/gcc/testsuite/gfortran.dg/stat_1.f90 b/gcc/testsuite/gfortran.dg/stat_1.f90
index 5325634..b9dc100 100644
--- a/gcc/testsuite/gfortran.dg/stat_1.f90
+++ b/gcc/testsuite/gfortran.dg/stat_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-std=gnu" }
character(len=*), parameter :: f = "testfile"
integer :: s1(13), r1, s2(13), r2, s3(13), r3
diff --git a/gcc/testsuite/gfortran.dg/stat_2.f90 b/gcc/testsuite/gfortran.dg/stat_2.f90
index 4bd17ca..b57b52f 100644
--- a/gcc/testsuite/gfortran.dg/stat_2.f90
+++ b/gcc/testsuite/gfortran.dg/stat_2.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-std=gnu" }
character(len=*), parameter :: f = "testfile"
integer :: s1(13), r1, s2(13), r2, s3(13), r3
diff --git a/gcc/testsuite/gfortran.dg/streamio_11.f90 b/gcc/testsuite/gfortran.dg/streamio_11.f90
index 2084a23..0ec2f2e 100644
--- a/gcc/testsuite/gfortran.dg/streamio_11.f90
+++ b/gcc/testsuite/gfortran.dg/streamio_11.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR29277 Stream IO test 11, tests formatted form.
! Contributed by Tobias Burnas.
program stream_test
diff --git a/gcc/testsuite/gfortran.dg/streamio_15.f90 b/gcc/testsuite/gfortran.dg/streamio_15.f90
index 4d1638e..09d9a2a 100644
--- a/gcc/testsuite/gfortran.dg/streamio_15.f90
+++ b/gcc/testsuite/gfortran.dg/streamio_15.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR35132 Formatted stream I/O write should truncate.
! Test case adapted from PR by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program main
diff --git a/gcc/testsuite/gfortran.dg/streamio_3.f90 b/gcc/testsuite/gfortran.dg/streamio_3.f90
index b96e5fc..0cbab67 100644
--- a/gcc/testsuite/gfortran.dg/streamio_3.f90
+++ b/gcc/testsuite/gfortran.dg/streamio_3.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25828 Stream IO test 3, tests read_x and inquire.
! Contributed by Jerry DeLisle <jvdelisle@verizon.net>.
program streamio_3
diff --git a/gcc/testsuite/gfortran.dg/streamio_4.f90 b/gcc/testsuite/gfortran.dg/streamio_4.f90
index 64d2f52..957df8c 100644
--- a/gcc/testsuite/gfortran.dg/streamio_4.f90
+++ b/gcc/testsuite/gfortran.dg/streamio_4.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR25828 Stream IO test 4, Tests string read and writes, single byte.
! Verifies buffering is working correctly and position="append"
! Contributed by Jerry DeLisle <jvdelisle@verizon.net>.
diff --git a/gcc/testsuite/gfortran.dg/tl_editing.f90 b/gcc/testsuite/gfortran.dg/tl_editing.f90
index d2a7ede..aa3a01c 100644
--- a/gcc/testsuite/gfortran.dg/tl_editing.f90
+++ b/gcc/testsuite/gfortran.dg/tl_editing.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! Test of fix to bug triggered by NIST fm908.for.
! Left tabbing, followed by X or T-tabbing to the right would
! cause spaces to be overwritten on output data.
diff --git a/gcc/testsuite/gfortran.dg/unf_io_convert_1.f90 b/gcc/testsuite/gfortran.dg/unf_io_convert_1.f90
index 3d35312..ad79fd7 100644
--- a/gcc/testsuite/gfortran.dg/unf_io_convert_1.f90
+++ b/gcc/testsuite/gfortran.dg/unf_io_convert_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-pedantic" }
! This test verifies the most basic sequential unformatted I/O
! with convert="swap".
diff --git a/gcc/testsuite/gfortran.dg/unf_io_convert_2.f90 b/gcc/testsuite/gfortran.dg/unf_io_convert_2.f90
index f29f6ee..b38da24 100644
--- a/gcc/testsuite/gfortran.dg/unf_io_convert_2.f90
+++ b/gcc/testsuite/gfortran.dg/unf_io_convert_2.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
program main
complex(kind=4) :: c
real(kind=4) :: a(2)
diff --git a/gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f90 b/gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f90
index 1788b45..4dd5234 100644
--- a/gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f90
+++ b/gcc/testsuite/gfortran.dg/unf_read_corrupted_2.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR31880 silent data corruption in gfortran read statement
! Test from PR.
program r3
diff --git a/gcc/testsuite/gfortran.dg/unf_short_record_1.f90 b/gcc/testsuite/gfortran.dg/unf_short_record_1.f90
index 45c94c2..9dca08e 100644
--- a/gcc/testsuite/gfortran.dg/unf_short_record_1.f90
+++ b/gcc/testsuite/gfortran.dg/unf_short_record_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 29627 - partial reads of unformatted records
program main
character a(3)
diff --git a/gcc/testsuite/gfortran.dg/unformatted_recl_1.f90 b/gcc/testsuite/gfortran.dg/unformatted_recl_1.f90
index dbafff1..9618ff2 100644
--- a/gcc/testsuite/gfortran.dg/unformatted_recl_1.f90
+++ b/gcc/testsuite/gfortran.dg/unformatted_recl_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR31099 Runtime error on legal code using RECL
program test
integer(kind=4) :: a, b
diff --git a/gcc/testsuite/gfortran.dg/unformatted_subrecord_1.f90 b/gcc/testsuite/gfortran.dg/unformatted_subrecord_1.f90
index 5d59daa..02ed288 100644
--- a/gcc/testsuite/gfortran.dg/unformatted_subrecord_1.f90
+++ b/gcc/testsuite/gfortran.dg/unformatted_subrecord_1.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! { dg-options "-fmax-subrecord-length=16" }
! Test Intel record markers with 16-byte subrecord sizes.
! PR 32770: Use explicit kinds for all integers and constants,
diff --git a/gcc/testsuite/gfortran.dg/vector_subscript_3.f90 b/gcc/testsuite/gfortran.dg/vector_subscript_3.f90
index 974ee4b..3fa306e 100644
--- a/gcc/testsuite/gfortran.dg/vector_subscript_3.f90
+++ b/gcc/testsuite/gfortran.dg/vector_subscript_3.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
!
! Test the fix for PR34875, in which the read with a vector index
! used to do nothing.
diff --git a/gcc/testsuite/gfortran.dg/write_back.f b/gcc/testsuite/gfortran.dg/write_back.f
index a491e24..a8472f7 100644
--- a/gcc/testsuite/gfortran.dg/write_back.f
+++ b/gcc/testsuite/gfortran.dg/write_back.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 26499 : Positioning of EOF after backspaces and write.
! This test verifies that the last write truncates the file.
! Submitted by Jerry DeLisle <jvdelisle@verizon.net>.
diff --git a/gcc/testsuite/gfortran.dg/write_check3.f90 b/gcc/testsuite/gfortran.dg/write_check3.f90
index 802a06d..4895096 100644
--- a/gcc/testsuite/gfortran.dg/write_check3.f90
+++ b/gcc/testsuite/gfortran.dg/write_check3.f90
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR29936 Missed constraint on RECL=specifier in unformatted sequential WRITE
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program us_recl
diff --git a/gcc/testsuite/gfortran.dg/write_rewind_1.f b/gcc/testsuite/gfortran.dg/write_rewind_1.f
index 0e23187..94fec99 100644
--- a/gcc/testsuite/gfortran.dg/write_rewind_1.f
+++ b/gcc/testsuite/gfortran.dg/write_rewind_1.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 26499 : Positioning of EOF after write and rewind.
! Test case from Dale Ranta in PR.
! Submitted by Jerry DeLisle <jvdelisle@verizon.net>.
diff --git a/gcc/testsuite/gfortran.dg/write_rewind_2.f b/gcc/testsuite/gfortran.dg/write_rewind_2.f
index 501995c..e1a8dec 100644
--- a/gcc/testsuite/gfortran.dg/write_rewind_2.f
+++ b/gcc/testsuite/gfortran.dg/write_rewind_2.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 26499 Test write with rewind sequences to make sure buffering and
! end-of-file conditions are handled correctly. Derived from test case by Dale
! Ranta. Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>.
diff --git a/gcc/testsuite/gfortran.dg/x_slash_1.f b/gcc/testsuite/gfortran.dg/x_slash_1.f
index f4f9ed2..de576e2 100644
--- a/gcc/testsuite/gfortran.dg/x_slash_1.f
+++ b/gcc/testsuite/gfortran.dg/x_slash_1.f
@@ -1,4 +1,4 @@
-c { dg-do run }
+c { dg-do run { target fd_truncate } }
c This program tests the fixes to PR22570.
c
c Provided by Paul Thomas - pault@gcc.gnu.org
diff --git a/gcc/testsuite/gfortran.dg/x_slash_2.f b/gcc/testsuite/gfortran.dg/x_slash_2.f
index 6023b64..9c42f67 100644
--- a/gcc/testsuite/gfortran.dg/x_slash_2.f
+++ b/gcc/testsuite/gfortran.dg/x_slash_2.f
@@ -1,4 +1,4 @@
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
! PR 34887 - reverse tabs followed by a slash used to confuse I/O.
program main
character(len=2) :: b, a
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/backspace.x b/gcc/testsuite/gfortran.fortran-torture/execute/backspace.x
new file mode 100644
index 0000000..b4a54bb
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/backspace.x
@@ -0,0 +1,7 @@
+load_lib target-supports.exp
+
+if { ! [check_effective_target_fd_truncate] } {
+ return 1
+}
+
+return 0
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/list_read_1.x b/gcc/testsuite/gfortran.fortran-torture/execute/list_read_1.x
new file mode 100644
index 0000000..b4a54bb
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/list_read_1.x
@@ -0,0 +1,7 @@
+load_lib target-supports.exp
+
+if { ! [check_effective_target_fd_truncate] } {
+ return 1
+}
+
+return 0
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/read_null_string.x b/gcc/testsuite/gfortran.fortran-torture/execute/read_null_string.x
new file mode 100644
index 0000000..b4a54bb
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/read_null_string.x
@@ -0,0 +1,7 @@
+load_lib target-supports.exp
+
+if { ! [check_effective_target_fd_truncate] } {
+ return 1
+}
+
+return 0
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/seq_io.x b/gcc/testsuite/gfortran.fortran-torture/execute/seq_io.x
new file mode 100644
index 0000000..b4a54bb
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/seq_io.x
@@ -0,0 +1,7 @@
+load_lib target-supports.exp
+
+if { ! [check_effective_target_fd_truncate] } {
+ return 1
+}
+
+return 0
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/slash_edit.x b/gcc/testsuite/gfortran.fortran-torture/execute/slash_edit.x
new file mode 100644
index 0000000..b4a54bb
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/slash_edit.x
@@ -0,0 +1,7 @@
+load_lib target-supports.exp
+
+if { ! [check_effective_target_fd_truncate] } {
+ return 1
+}
+
+return 0
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/unopened_unit_1.x b/gcc/testsuite/gfortran.fortran-torture/execute/unopened_unit_1.x
new file mode 100644
index 0000000..b4a54bb
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/unopened_unit_1.x
@@ -0,0 +1,7 @@
+load_lib target-supports.exp
+
+if { ! [check_effective_target_fd_truncate] } {
+ return 1
+}
+
+return 0
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 20bcdea..e2667ff 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2227,6 +2227,45 @@ proc check_effective_target_pthread_h { } {
}]
}
+# Return 1 if the target can truncate a file from a file-descriptor,
+# as used by libgfortran/io/unix.c:fd_truncate; i.e. ftruncate or
+# chsize. We test for a trivially functional truncation; no stubs.
+# As libgfortran uses _FILE_OFFSET_BITS 64, we do too; it'll cause a
+# different function to be used.
+
+proc check_effective_target_fd_truncate { } {
+ set prog {
+ #define _FILE_OFFSET_BITS 64
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ int main ()
+ {
+ FILE *f = fopen ("tst.tmp", "wb");
+ int fd;
+ const char t[] = "test writing more than ten characters";
+ char s[11];
+ fd = fileno (f);
+ write (fd, t, sizeof (t) - 1);
+ lseek (fd, 0, 0);
+ if (ftruncate (fd, 10) != 0)
+ exit (1);
+ close (fd);
+ f = fopen ("tst.tmp", "rb");
+ if (fread (s, 1, sizeof (s), f) != 10 || strncmp (s, t, 10) != 0)
+ exit (1);
+ exit (0);
+ }
+ }
+
+ if { [check_runtime ftruncate $prog] } {
+ return 1;
+ }
+
+ regsub "ftruncate" $prog "chsize" prog
+ return [check_runtime chsize $prog]
+}
+
# Add to FLAGS all the target-specific flags needed to access the c99 runtime.
proc add_options_for_c99_runtime { flags } {