mirror of git://gcc.gnu.org/git/gcc.git
PR 44292 Enable large record lengths in OPEN and INQUIRE statements
This is a straightforward change that we can do now that the ABI has been bumped (again!). Regtested on x86_64-pc-linux-gnu. gcc/fortran/ChangeLog: 2017-11-18 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/44292 * ioparm.def (IOPARM): Make recl_in intio, and recl_out pintio. libgfortran/ChangeLog: 2017-11-18 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/44292 * io/io.h: Make recl_in a GC_IO_INT and recl_out a type GFC_IO_INT*. gcc/testsuite/ChangeLog: 2017-11-18 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/44292 * gfortran.dg/large_recl.f90: New test. From-SVN: r254915
This commit is contained in:
parent
a814e35ba3
commit
831cf09d60
|
|
@ -1,3 +1,8 @@
|
||||||
|
2017-11-18 Janne Blomqvist <jb@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/44292
|
||||||
|
* ioparm.def (IOPARM): Make recl_in intio, and recl_out pintio.
|
||||||
|
|
||||||
2017-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
|
2017-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/83012
|
PR fortran/83012
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ IOPARM (common, line, 0, int4)
|
||||||
IOPARM (common, iomsg, 1 << 6, char2)
|
IOPARM (common, iomsg, 1 << 6, char2)
|
||||||
IOPARM (common, iostat, 1 << 5, pint4)
|
IOPARM (common, iostat, 1 << 5, pint4)
|
||||||
IOPARM (open, common, 0, common)
|
IOPARM (open, common, 0, common)
|
||||||
IOPARM (open, recl_in, 1 << 7, int4)
|
IOPARM (open, recl_in, 1 << 7, intio)
|
||||||
IOPARM (open, file, 1 << 8, char2)
|
IOPARM (open, file, 1 << 8, char2)
|
||||||
IOPARM (open, status, 1 << 9, char1)
|
IOPARM (open, status, 1 << 9, char1)
|
||||||
IOPARM (open, access, 1 << 10, char2)
|
IOPARM (open, access, 1 << 10, char2)
|
||||||
|
|
@ -63,7 +63,7 @@ IOPARM (inquire, opened, 1 << 8, pint4)
|
||||||
IOPARM (inquire, number, 1 << 9, pint4)
|
IOPARM (inquire, number, 1 << 9, pint4)
|
||||||
IOPARM (inquire, named, 1 << 10, pint4)
|
IOPARM (inquire, named, 1 << 10, pint4)
|
||||||
IOPARM (inquire, nextrec, 1 << 11, pint4)
|
IOPARM (inquire, nextrec, 1 << 11, pint4)
|
||||||
IOPARM (inquire, recl_out, 1 << 12, pint4)
|
IOPARM (inquire, recl_out, 1 << 12, pintio)
|
||||||
IOPARM (inquire, strm_pos_out, 1 << 13, pintio)
|
IOPARM (inquire, strm_pos_out, 1 << 13, pintio)
|
||||||
IOPARM (inquire, file, 1 << 14, char1)
|
IOPARM (inquire, file, 1 << 14, char1)
|
||||||
IOPARM (inquire, access, 1 << 15, char2)
|
IOPARM (inquire, access, 1 << 15, char2)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,8 @@
|
||||||
|
2017-11-18 Janne Blomqvist <jb@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/44292
|
||||||
|
* gfortran.dg/large_recl.f90: New test.
|
||||||
|
|
||||||
2017-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
|
2017-11-18 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/83012
|
PR fortran/83012
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
! { dg-do run }
|
||||||
|
! PR 44292 Large RECL=
|
||||||
|
program large_recl
|
||||||
|
implicit none
|
||||||
|
integer(kind=8) :: r
|
||||||
|
open(10, status="scratch", recl=12345678901_8, form="unformatted", access="direct")
|
||||||
|
inquire(10, recl=r)
|
||||||
|
close(10, status="delete")
|
||||||
|
if (r /= 12345678901_8) then
|
||||||
|
call abort()
|
||||||
|
end if
|
||||||
|
end program large_recl
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
2017-11-18 Janne Blomqvist <jb@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/44292
|
||||||
|
* io/io.h: Make recl_in a GC_IO_INT and recl_out a type
|
||||||
|
GFC_IO_INT*.
|
||||||
|
|
||||||
2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
|
2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
|
||||||
|
|
||||||
* acinclude.m4: Add enable.m4, cet.m4.
|
* acinclude.m4: Add enable.m4, cet.m4.
|
||||||
|
|
@ -12,7 +18,7 @@
|
||||||
PR libgfortran/81938
|
PR libgfortran/81938
|
||||||
io/format.c (free_format_data): Don't try to free vlist
|
io/format.c (free_format_data): Don't try to free vlist
|
||||||
descriptors past the end of the fnode array.
|
descriptors past the end of the fnode array.
|
||||||
|
|
||||||
2017-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
|
2017-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||||
|
|
||||||
PR libfortran/82233
|
PR libfortran/82233
|
||||||
|
|
|
||||||
|
|
@ -308,7 +308,7 @@ unit_sign_s;
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
st_parameter_common common;
|
st_parameter_common common;
|
||||||
GFC_INTEGER_4 recl_in;
|
GFC_IO_INT recl_in;
|
||||||
CHARACTER2 (file);
|
CHARACTER2 (file);
|
||||||
CHARACTER1 (status);
|
CHARACTER1 (status);
|
||||||
CHARACTER2 (access);
|
CHARACTER2 (access);
|
||||||
|
|
@ -388,8 +388,8 @@ typedef struct
|
||||||
{
|
{
|
||||||
st_parameter_common common;
|
st_parameter_common common;
|
||||||
GFC_INTEGER_4 *exist, *opened, *number, *named;
|
GFC_INTEGER_4 *exist, *opened, *number, *named;
|
||||||
GFC_INTEGER_4 *nextrec, *recl_out;
|
GFC_INTEGER_4 *nextrec;
|
||||||
GFC_IO_INT *strm_pos_out;
|
GFC_IO_INT *recl_out, *strm_pos_out;
|
||||||
CHARACTER1 (file);
|
CHARACTER1 (file);
|
||||||
CHARACTER2 (access);
|
CHARACTER2 (access);
|
||||||
CHARACTER1 (form);
|
CHARACTER1 (form);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue