This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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",

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]