2006-03-22 Thomas Koenig <Thomas.Koenig@onlien.de>
commitf23886abacad045dae2b04895dddea4aaec2db1c
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 22 Mar 2006 19:09:11 +0000 (22 19:09 +0000)
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 22 Mar 2006 19:09:11 +0000 (22 19:09 +0000)
treeddee91463b1c5b5ef8aaf5e8a3581d490478bed9
parente88209700fe9871b7e94de36a676bdbd86d64a36
2006-03-22  Thomas Koenig  <Thomas.Koenig@onlien.de>

PR fortran/19303
* gfortran.h (gfc_option_t):  Add record_marker.
* lang.opt:  Add -frecord-marker=4 and -frecord-marker=8.
* trans-decl.c:  Add gfor_fndecl_set_record_marker.
(gfc_build_builtin_function_decls): Set
gfor_fndecl_set_record_marker.
(gfc_generate_function_code):  If we are in the main program
and -frecord-marker was provided, call set_record_marker.
* options.c (gfc_handle_option):  Add handling for
-frecord-marker=4 and -frecord-marker=8.
* invoke.texi:  Document -frecord-marker.

2006-03-22  Thomas Koenig  <Thomas.Koenig@onlien.de>

PR fortran/19303
* libgfortran.h (compile_options_t):  Add record_marker.
* runtime/compile_options.c (set_record_marker):
New function.
* io/open.c:  If we have four-byte record markers, use
GFC_INTEGER_4_HUGE as default record length.
* io/file_pos.c (unformatted_backspace):  Handle
different size record markers.
* io/transfer.c (us_read):  Likewise.
(us_write):  Likewise.
(next_record_r):  Likewise.
(write_us_marker):  Likewise.
(next_record_w):  Likewise.

2006-03-22  Thomas Koenig  <Thomas.Koenig@online.de>

PR fortran/19303
* gfortran.dg/record_marker_1.f90:  New test case.
* gfortran.dg/record_marker_2.f:  New test case.
* gfortran.dg/record_marker_3.f90:  New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112290 138bc75d-0d04-0410-961f-82ee72b054a4
16 files changed:
gcc/fortran/ChangeLog
gcc/fortran/gfortran.h
gcc/fortran/invoke.texi
gcc/fortran/lang.opt
gcc/fortran/options.c
gcc/fortran/trans-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/record_marker_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/record_marker_2.f [new file with mode: 0644]
gcc/testsuite/gfortran.dg/record_marker_3.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/io/file_pos.c
libgfortran/io/open.c
libgfortran/io/transfer.c
libgfortran/libgfortran.h
libgfortran/runtime/compile_options.c