This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
[Patch,Fortran,committed] Fix return value of some I/O functions in trans-io.c
- From: Tobias Burnus <burnus at net-b dot de>
- To: gcc patches <gcc-patches at gcc dot gnu dot org>, gfortran <fortran at gcc dot gnu dot org>
- Date: Wed, 04 Aug 2010 10:56:50 +0200
- Subject: [Patch,Fortran,committed] Fix return value of some I/O functions in trans-io.c
Committed as obvious. Cf.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45131#c9
The functions are declared as "void" in libgfortran - thus, the FE
should have the same declaration.
This might be a bug introduced with the recent
gfc_build_library_function_decl_with_spec annotation, but maybe it is
older (I have not checked).
Build and regtested on x86-64-linux.
Committed as Rev. 162857.
Tobias
Index: gcc/fortran/ChangeLog
===================================================================
--- gcc/fortran/ChangeLog (revision 162856)
+++ gcc/fortran/ChangeLog (working copy)
@@ -1,3 +1,8 @@
+2010-08-04 Tobias Burnus <burnus@net-b.de>
+
+ * trans-io.c (gfc_build_io_library_fndecls): Fix return
+ value of some libgfortran functions.
+
2010-08-03 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/45159
Index: gcc/fortran/trans-io.c
===================================================================
--- gcc/fortran/trans-io.c (revision 162856)
+++ gcc/fortran/trans-io.c (working copy)
@@ -362,7 +362,7 @@ gfc_build_io_library_fndecls (void)
parm_type = build_pointer_type (st_parameter[IOPARM_ptype_inquire].type);
iocall[IOCALL_INQUIRE] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_inquire")), ".w",
- gfc_int4_type_node, 1, parm_type);
+ void_type_node, 1, parm_type);
iocall[IOCALL_IOLENGTH] = gfc_build_library_function_decl_with_spec(
get_identifier (PREFIX("st_iolength")), ".w",
@@ -372,43 +372,43 @@ gfc_build_io_library_fndecls (void)
parm_type = build_pointer_type (st_parameter[IOPARM_ptype_wait].type);
iocall[IOCALL_WAIT] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_wait")), ".X",
- gfc_int4_type_node, 1, parm_type);
+ void_type_node, 1, parm_type);
parm_type = build_pointer_type (st_parameter[IOPARM_ptype_filepos].type);
iocall[IOCALL_REWIND] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_rewind")), ".w",
- gfc_int4_type_node, 1, parm_type);
+ void_type_node, 1, parm_type);
iocall[IOCALL_BACKSPACE] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_backspace")), ".w",
- gfc_int4_type_node, 1, parm_type);
+ void_type_node, 1, parm_type);
iocall[IOCALL_ENDFILE] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_endfile")), ".w",
- gfc_int4_type_node, 1, parm_type);
+ void_type_node, 1, parm_type);
iocall[IOCALL_FLUSH] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_flush")), ".w",
- gfc_int4_type_node, 1, parm_type);
+ void_type_node, 1, parm_type);
/* Library helpers */
iocall[IOCALL_READ_DONE] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_read_done")), ".w",
- gfc_int4_type_node, 1, dt_parm_type);
+ void_type_node, 1, dt_parm_type);
iocall[IOCALL_WRITE_DONE] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_write_done")), ".w",
- gfc_int4_type_node, 1, dt_parm_type);
+ void_type_node, 1, dt_parm_type);
iocall[IOCALL_IOLENGTH_DONE] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_iolength_done")), ".w",
- gfc_int4_type_node, 1, dt_parm_type);
+ void_type_node, 1, dt_parm_type);
iocall[IOCALL_SET_NML_VAL] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_set_nml_var")), ".w.R",
void_type_node, 6, dt_parm_type, pvoid_type_node, pvoid_type_node,
- gfc_int4_type_node, gfc_charlen_type_node, gfc_int4_type_node);
+ void_type_node, gfc_charlen_type_node, gfc_int4_type_node);
iocall[IOCALL_SET_NML_VAL_DIM] = gfc_build_library_function_decl_with_spec (
get_identifier (PREFIX("st_set_nml_var_dim")), ".w",