2006-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/25828 * gfortran.h: Add new pointer for stream position to st_inquire. Rename gfc_large_io_int_kind to gfc_intio_kind. * trans-types.c (gfc_init_kinds): use gfc_intio_kind. * io.c: Add new IO tag for file position going in and another for out. (match_dt_element): Match new tag_spos. (gfc_resolve_dt): Resolve new tag_spos. (gfc_free_inquire): Free inquire->strm_pos. (match_inquire_element): Match new tag_strm_out. (gfc_resolve_inquire): Resolve new tag_strm_out. * trans-io.c: Rename IOPARM_type_large_io_int to IOPARM_type_intio. (gfc_build_st_parameter): Same. (gfc_build_io_library_fndecls) Same. and add build pointer type pintio. (gfc_trans_inquire): Translate strm_pos for inquire. * ioparm.def: Reorder flags to accomodate addition of new inquire flag for strm_pos_out and add it in. From-SVN: r116171
71 lines
2.7 KiB
Modula-2
71 lines
2.7 KiB
Modula-2
#ifndef IOPARM_common_libreturn_mask
|
|
#define IOPARM_common_libreturn_mask 3
|
|
#define IOPARM_common_libreturn_ok 0
|
|
#define IOPARM_common_libreturn_error 1
|
|
#define IOPARM_common_libreturn_end 2
|
|
#define IOPARM_common_libreturn_eor 3
|
|
#define IOPARM_common_err (1 << 2)
|
|
#define IOPARM_common_end (1 << 3)
|
|
#define IOPARM_common_eor (1 << 4)
|
|
#endif
|
|
IOPARM (common, flags, 0, int4)
|
|
IOPARM (common, unit, 0, int4)
|
|
IOPARM (common, filename, 0, pchar)
|
|
IOPARM (common, line, 0, int4)
|
|
IOPARM (common, iomsg, 1 << 6, char2)
|
|
IOPARM (common, iostat, 1 << 5, pint4)
|
|
IOPARM (open, common, 0, common)
|
|
IOPARM (open, recl_in, 1 << 7, int4)
|
|
IOPARM (open, file, 1 << 8, char2)
|
|
IOPARM (open, status, 1 << 9, char1)
|
|
IOPARM (open, access, 1 << 10, char2)
|
|
IOPARM (open, form, 1 << 11, char1)
|
|
IOPARM (open, blank, 1 << 12, char2)
|
|
IOPARM (open, position, 1 << 13, char1)
|
|
IOPARM (open, action, 1 << 14, char2)
|
|
IOPARM (open, delim, 1 << 15, char1)
|
|
IOPARM (open, pad, 1 << 16, char2)
|
|
IOPARM (open, convert, 1 << 17, char1)
|
|
IOPARM (close, common, 0, common)
|
|
IOPARM (close, status, 1 << 7, char1)
|
|
IOPARM (filepos, common, 0, common)
|
|
IOPARM (inquire, common, 0, common)
|
|
IOPARM (inquire, exist, 1 << 7, pint4)
|
|
IOPARM (inquire, opened, 1 << 8, pint4)
|
|
IOPARM (inquire, number, 1 << 9, pint4)
|
|
IOPARM (inquire, named, 1 << 10, pint4)
|
|
IOPARM (inquire, nextrec, 1 << 11, pint4)
|
|
IOPARM (inquire, recl_out, 1 << 12, pint4)
|
|
IOPARM (inquire, strm_pos_out, 1 << 13, pintio)
|
|
IOPARM (inquire, file, 1 << 14, char1)
|
|
IOPARM (inquire, access, 1 << 15, char2)
|
|
IOPARM (inquire, form, 1 << 16, char1)
|
|
IOPARM (inquire, blank, 1 << 17, char2)
|
|
IOPARM (inquire, position, 1 << 18, char1)
|
|
IOPARM (inquire, action, 1 << 19, char2)
|
|
IOPARM (inquire, delim, 1 << 20, char1)
|
|
IOPARM (inquire, pad, 1 << 21, char2)
|
|
IOPARM (inquire, name, 1 << 22, char1)
|
|
IOPARM (inquire, sequential, 1 << 23, char2)
|
|
IOPARM (inquire, direct, 1 << 24, char1)
|
|
IOPARM (inquire, formatted, 1 << 25, char2)
|
|
IOPARM (inquire, unformatted, 1 << 26, char1)
|
|
IOPARM (inquire, read, 1 << 27, char2)
|
|
IOPARM (inquire, write, 1 << 28, char1)
|
|
IOPARM (inquire, readwrite, 1 << 29, char2)
|
|
IOPARM (inquire, convert, 1 << 30, char1)
|
|
#ifndef IOPARM_dt_list_format
|
|
#define IOPARM_dt_list_format (1 << 7)
|
|
#define IOPARM_dt_namelist_read_mode (1 << 8)
|
|
#endif
|
|
IOPARM (dt, common, 0, common)
|
|
IOPARM (dt, rec, 1 << 9, intio)
|
|
IOPARM (dt, size, 1 << 10, pint4)
|
|
IOPARM (dt, iolength, 1 << 11, pint4)
|
|
IOPARM (dt, internal_unit_desc, 0, parray)
|
|
IOPARM (dt, format, 1 << 12, char1)
|
|
IOPARM (dt, advance, 1 << 13, char2)
|
|
IOPARM (dt, internal_unit, 1 << 14, char1)
|
|
IOPARM (dt, namelist_name, 1 << 15, char2)
|
|
IOPARM (dt, u, 0, pad)
|