------- Comment #9 from burnus at gcc dot gnu dot org 2010-07-30 15:11 ------- I can also reproduce it with -m32 and x86-64. The dump looks OK; if one uses a debugger, one sees that in inquire_via_unit: u->last_record == 0 - instead of the expect "5". but u->flags.access == ACCESS_DIRECT as expected.
I wonder whether the information somehow gets lost due to the new "fn spec" settings for trans-io.c (..._with_spec) - though using ".w" looks ok - additionally, I do not see how the FE could modify the libraries' unit data in such a way. Side question: Why is st_inquire actually listed as returning an integer if it is void? 362 parm_type = build_pointer_type (st_parameter[IOPARM_ptype_inquire].type); 363 iocall[IOCALL_INQUIRE] = gfc_build_library_function_decl_with_spec ( 364 get_identifier (PREFIX("st_inquire")), ".w", 365 gfc_int4_type_node, 1, parm_type); Ditto for st_iolength_done, st_flush, st_endfile, st_backspace, st_rewind, and st_wait -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu dot | |org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45131