aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorTobias Schlüter <tobi@gcc.gnu.org>2005-01-22 15:37:39 +0100
committerTobias Schlüter <tobi@gcc.gnu.org>2005-01-22 15:37:39 +0100
commitb8d5e92646dd8d2a4ea41770e734a29cfcbc1ea3 (patch)
tree213701c7170a3a19c90af8648fcb0f1d38a0f386 /libgfortran
parent1e052c19d550ec0489c1bb2d2b4d94ee739641af (diff)
downloadgcc-b8d5e92646dd8d2a4ea41770e734a29cfcbc1ea3.zip
gcc-b8d5e92646dd8d2a4ea41770e734a29cfcbc1ea3.tar.gz
gcc-b8d5e92646dd8d2a4ea41770e734a29cfcbc1ea3.tar.bz2
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/ChangeLog10
-rw-r--r--libgfortran/io/io.h92
2 files changed, 47 insertions, 55 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 9f7e378..95242b6 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 862a0b3..2975f9e 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;