aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans-io.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 15f828d..7ab798d 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -4,6 +4,12 @@
* trans-const.c (gfc_conv_constant_to_tree): Give logical
constants the correct type.
+ 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.
+
2005-01-18 Kazu Hirata <kazu@cs.umass.edu>
* arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c
index 1ac48d4..756ae06 100644
--- a/gcc/fortran/trans-io.c
+++ b/gcc/fortran/trans-io.c
@@ -147,7 +147,7 @@ static enum { READ, WRITE, IOLENGTH } last_dt;
get_identifier (stringize(name)), pchar_type_node); \
ioparm_ ## name ## _len = gfc_add_field_to_struct \
(&(TYPE_FIELDS (ioparm_type)), ioparm_type, \
- get_identifier (stringize(name) "_len"), gfc_int4_type_node)
+ get_identifier (stringize(name) "_len"), gfc_charlen_type_node)
/* Create function decls for IO library functions. */
@@ -181,11 +181,11 @@ gfc_build_io_library_fndecls (void)
ADD_FIELD (opened, gfc_pint4_type_node);
ADD_FIELD (number, gfc_pint4_type_node);
ADD_FIELD (named, gfc_pint4_type_node);
- ADD_FIELD (rec, gfc_pint4_type_node);
+ ADD_FIELD (rec, gfc_int4_type_node);
ADD_FIELD (nextrec, gfc_pint4_type_node);
ADD_FIELD (size, gfc_pint4_type_node);
- ADD_FIELD (recl_in, gfc_pint4_type_node);
+ ADD_FIELD (recl_in, gfc_int4_type_node);
ADD_FIELD (recl_out, gfc_pint4_type_node);
ADD_FIELD (iolength, gfc_pint4_type_node);