diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-10-24 21:42:29 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2016-10-24 21:42:29 +0000 |
commit | 13926b249f974bcb0428e4379f0338da45bbcd70 (patch) | |
tree | cf05fdc76f680d7d48536813516af7143972b359 /libgfortran/io/io.h | |
parent | c708217135607d42ff3926164f0472ef6aa66719 (diff) | |
download | gcc-13926b249f974bcb0428e4379f0338da45bbcd70.zip gcc-13926b249f974bcb0428e4379f0338da45bbcd70.tar.gz gcc-13926b249f974bcb0428e4379f0338da45bbcd70.tar.bz2 |
re PR libfortran/77828 (Linking gfortran-7 compiled program with libgfortran of 5.x allowed but crashes when containing write to string)
2016-10-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/77828
* io/io.h (st_parameter_dt): Reorder for readability and sanity.
* io/transfer.c (data_transfer_init): Remove TODO and enable the
runtime error message, rec= specifier not allowed in STREAM
access.
* libtool-version: Bump major version of libgfortran to 4.
* ioparm.def: Reorder dt parameters to match libgfortran.
* libgfortran.h: Swap definitions of GFC_INTERNAL_UNIT and
GFC_INTERNAL_UNIT4.
From-SVN: r241497
Diffstat (limited to 'libgfortran/io/io.h')
-rw-r--r-- | libgfortran/io/io.h | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h index 8b20389..8c6caef 100644 --- a/libgfortran/io/io.h +++ b/libgfortran/io/io.h @@ -424,6 +424,15 @@ typedef struct st_parameter_dt CHARACTER2 (advance); CHARACTER1 (internal_unit); CHARACTER2 (namelist_name); + GFC_INTEGER_4 *id; + GFC_IO_INT pos; + CHARACTER1 (asynchronous); + CHARACTER2 (blank); + CHARACTER1 (decimal); + CHARACTER2 (delim); + CHARACTER1 (pad); + CHARACTER2 (round); + CHARACTER1 (sign); /* Private part of the structure. The compiler just needs to reserve enough space. */ union @@ -440,7 +449,8 @@ typedef struct st_parameter_dt unit_blank blank_status; unit_sign sign_status; int scale_factor; - int max_pos; /* Maximum righthand column written to. */ + /* Maximum righthand column written to. */ + int max_pos; /* Number of skips + spaces to be done for T and X-editing. */ int skips; /* Number of spaces to be done for T and X-editing. */ @@ -494,8 +504,7 @@ typedef struct st_parameter_dt are an unsigned char, EOF, or EOF - 1 used to mark the field as not valid. */ int last_char; /* No longer used, moved to gfc_unit. */ - char nml_delim; - + int nml_delim; int repeat_count; int saved_length; int saved_used; @@ -523,15 +532,6 @@ typedef struct st_parameter_dt must be smaller or equal to this array. */ char pad[16 * sizeof (char *) + 32 * sizeof (int)]; } u; - GFC_INTEGER_4 *id; - GFC_IO_INT pos; - CHARACTER1 (asynchronous); - CHARACTER2 (blank); - CHARACTER1 (decimal); - CHARACTER2 (delim); - CHARACTER1 (pad); - CHARACTER2 (round); - CHARACTER1 (sign); } st_parameter_dt; |