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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94065
138bc75d-0d04-0410-961f-
82ee72b054a4
* 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,
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. */
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);
-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=.
* 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
-/* 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).
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
}
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;