diff options
author | Tobias Schlüter <tobi@gcc.gnu.org> | 2005-01-22 15:37:39 +0100 |
---|---|---|
committer | Tobias Schlüter <tobi@gcc.gnu.org> | 2005-01-22 15:37:39 +0100 |
commit | b8d5e92646dd8d2a4ea41770e734a29cfcbc1ea3 (patch) | |
tree | 213701c7170a3a19c90af8648fcb0f1d38a0f386 /libgfortran | |
parent | 1e052c19d550ec0489c1bb2d2b4d94ee739641af (diff) | |
download | gcc-b8d5e92646dd8d2a4ea41770e734a29cfcbc1ea3.tar.gz |
re PR fortran/19194 (Missing RECL parameter in OPEN statement)
gcc/fortran/
PR fortran/19194
* trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string
length parameters.
(gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not
pointer fields.
libgfortran/
PR fortran/19194
* io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int',
use CHARACTER macro for definition of string valued paramters.
Also fix years in recent ChangeLog entries.
From-SVN: r94065
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 10 | ||||
-rw-r--r-- | libgfortran/io/io.h | 92 |
2 files changed, 47 insertions, 55 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 9f7e3789cd6..95242b6396b 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,4 +1,10 @@ -2004-01-22 Bud Davis <bdavis9659@comcast.net> +2005-01-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> + + PR fortran/19194 + * io/io.h (st_parameter): Use 'GFC_INTEGER_4' instead of 'int', + use CHARACTER macro for definition of string valued paramters. + +2005-01-22 Bud Davis <bdavis9659@comcast.net> PR fortran/19314 * io/inquire.c(inquire_via_unit): implement POSITION=. @@ -7,7 +13,7 @@ * io/rewind.c(st_rewind): update position for INQUIRE. -2004-01-16 Bud Davis <bdavis9659@comcast.net> +2005-01-16 Bud Davis <bdavis9659@comcast.net> PR fortran/18778 * io/transfer.c (us_read): no bytes available is not a diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h index 862a0b3ca89..2975f9e73ad 100644 --- a/libgfortran/io/io.h +++ b/libgfortran/io/io.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Contributed by Andy Vaught This file is part of the GNU Fortran 95 runtime library (libgfortran). @@ -165,8 +165,8 @@ unit_mode; typedef struct { - int unit; - int err, end, eor, list_format; /* These are flags, not values. */ + GFC_INTEGER_4 unit; + GFC_INTEGER_4 err, end, eor, list_format; /* These are flags, not values. */ /* Return values from library statements. These are returned only if the labels are specified in the statement itself and the condition @@ -183,58 +183,44 @@ typedef struct } library_return; - int *iostat, *exist, *opened, *number, *named, rec, *nextrec, *size; - - int recl_in; - int *recl_out; - - int *iolength; - - char *file; - int file_len; - char *status; - int status_len; - char *access; - int access_len; - char *form; - int form_len; - char *blank; - int blank_len; - char *position; - int position_len; - char *action; - int action_len; - char *delim; - int delim_len; - char *pad; - int pad_len; - char *format; - int format_len; - char *advance; - int advance_len; - char *name; - int name_len; - char *internal_unit; - int internal_unit_len; - char *sequential; - int sequential_len; - char *direct; - int direct_len; - char *formatted; - int formatted_len; - char *unformatted; - int unformatted_len; - char *read; - int read_len; - char *write; - int write_len; - char *readwrite; - int readwrite_len; + GFC_INTEGER_4 *iostat, *exist, *opened, *number, *named; + GFC_INTEGER_4 rec; + GFC_INTEGER_4 *nextrec, *size; + + GFC_INTEGER_4 recl_in; + GFC_INTEGER_4 *recl_out; + + GFC_INTEGER_4 *iolength; + +#define CHARACTER(name) \ + char * name; \ + gfc_charlen_type name ## _len + CHARACTER (file); + CHARACTER (status); + CHARACTER (access); + CHARACTER (form); + CHARACTER (blank); + CHARACTER (position); + CHARACTER (action); + CHARACTER (delim); + CHARACTER (pad); + CHARACTER (format); + CHARACTER (advance); + CHARACTER (name); + CHARACTER (internal_unit); + CHARACTER (sequential); + CHARACTER (direct); + CHARACTER (formatted); + CHARACTER (unformatted); + CHARACTER (read); + CHARACTER (write); + CHARACTER (readwrite); /* namelist related data */ - char * namelist_name; - int namelist_name_len; - int namelist_read_mode; + CHARACTER (namelist_name); + GFC_INTEGER_4 namelist_read_mode; + +#undef CHARACTER } st_parameter; |