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
This commit is contained in:
parent
1e052c19d5
commit
b8d5e92646
|
@ -4,6 +4,12 @@
|
||||||
* trans-const.c (gfc_conv_constant_to_tree): Give logical
|
* trans-const.c (gfc_conv_constant_to_tree): Give logical
|
||||||
constants the correct type.
|
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>
|
2005-01-18 Kazu Hirata <kazu@cs.umass.edu>
|
||||||
|
|
||||||
* arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
|
* arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
|
||||||
|
|
|
@ -147,7 +147,7 @@ static enum { READ, WRITE, IOLENGTH } last_dt;
|
||||||
get_identifier (stringize(name)), pchar_type_node); \
|
get_identifier (stringize(name)), pchar_type_node); \
|
||||||
ioparm_ ## name ## _len = gfc_add_field_to_struct \
|
ioparm_ ## name ## _len = gfc_add_field_to_struct \
|
||||||
(&(TYPE_FIELDS (ioparm_type)), ioparm_type, \
|
(&(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. */
|
/* 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 (opened, gfc_pint4_type_node);
|
||||||
ADD_FIELD (number, gfc_pint4_type_node);
|
ADD_FIELD (number, gfc_pint4_type_node);
|
||||||
ADD_FIELD (named, 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 (nextrec, gfc_pint4_type_node);
|
||||||
ADD_FIELD (size, 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 (recl_out, gfc_pint4_type_node);
|
||||||
|
|
||||||
ADD_FIELD (iolength, gfc_pint4_type_node);
|
ADD_FIELD (iolength, gfc_pint4_type_node);
|
||||||
|
|
|
@ -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
|
PR fortran/19314
|
||||||
* io/inquire.c(inquire_via_unit): implement POSITION=.
|
* io/inquire.c(inquire_via_unit): implement POSITION=.
|
||||||
|
@ -7,7 +13,7 @@
|
||||||
* io/rewind.c(st_rewind): update position for
|
* io/rewind.c(st_rewind): update position for
|
||||||
INQUIRE.
|
INQUIRE.
|
||||||
|
|
||||||
2004-01-16 Bud Davis <bdavis9659@comcast.net>
|
2005-01-16 Bud Davis <bdavis9659@comcast.net>
|
||||||
|
|
||||||
PR fortran/18778
|
PR fortran/18778
|
||||||
* io/transfer.c (us_read): no bytes available is not a
|
* io/transfer.c (us_read): no bytes available is not a
|
||||||
|
|
|
@ -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
|
Contributed by Andy Vaught
|
||||||
|
|
||||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||||
|
@ -165,8 +165,8 @@ unit_mode;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
int unit;
|
GFC_INTEGER_4 unit;
|
||||||
int err, end, eor, list_format; /* These are flags, not values. */
|
GFC_INTEGER_4 err, end, eor, list_format; /* These are flags, not values. */
|
||||||
|
|
||||||
/* Return values from library statements. These are returned only if
|
/* Return values from library statements. These are returned only if
|
||||||
the labels are specified in the statement itself and the condition
|
the labels are specified in the statement itself and the condition
|
||||||
|
@ -183,58 +183,44 @@ typedef struct
|
||||||
}
|
}
|
||||||
library_return;
|
library_return;
|
||||||
|
|
||||||
int *iostat, *exist, *opened, *number, *named, rec, *nextrec, *size;
|
GFC_INTEGER_4 *iostat, *exist, *opened, *number, *named;
|
||||||
|
GFC_INTEGER_4 rec;
|
||||||
|
GFC_INTEGER_4 *nextrec, *size;
|
||||||
|
|
||||||
int recl_in;
|
GFC_INTEGER_4 recl_in;
|
||||||
int *recl_out;
|
GFC_INTEGER_4 *recl_out;
|
||||||
|
|
||||||
int *iolength;
|
GFC_INTEGER_4 *iolength;
|
||||||
|
|
||||||
char *file;
|
#define CHARACTER(name) \
|
||||||
int file_len;
|
char * name; \
|
||||||
char *status;
|
gfc_charlen_type name ## _len
|
||||||
int status_len;
|
CHARACTER (file);
|
||||||
char *access;
|
CHARACTER (status);
|
||||||
int access_len;
|
CHARACTER (access);
|
||||||
char *form;
|
CHARACTER (form);
|
||||||
int form_len;
|
CHARACTER (blank);
|
||||||
char *blank;
|
CHARACTER (position);
|
||||||
int blank_len;
|
CHARACTER (action);
|
||||||
char *position;
|
CHARACTER (delim);
|
||||||
int position_len;
|
CHARACTER (pad);
|
||||||
char *action;
|
CHARACTER (format);
|
||||||
int action_len;
|
CHARACTER (advance);
|
||||||
char *delim;
|
CHARACTER (name);
|
||||||
int delim_len;
|
CHARACTER (internal_unit);
|
||||||
char *pad;
|
CHARACTER (sequential);
|
||||||
int pad_len;
|
CHARACTER (direct);
|
||||||
char *format;
|
CHARACTER (formatted);
|
||||||
int format_len;
|
CHARACTER (unformatted);
|
||||||
char *advance;
|
CHARACTER (read);
|
||||||
int advance_len;
|
CHARACTER (write);
|
||||||
char *name;
|
CHARACTER (readwrite);
|
||||||
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;
|
|
||||||
|
|
||||||
/* namelist related data */
|
/* namelist related data */
|
||||||
char * namelist_name;
|
CHARACTER (namelist_name);
|
||||||
int namelist_name_len;
|
GFC_INTEGER_4 namelist_read_mode;
|
||||||
int namelist_read_mode;
|
|
||||||
|
#undef CHARACTER
|
||||||
}
|
}
|
||||||
st_parameter;
|
st_parameter;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue