OSDN Git Service

2006-07-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Jul 2006 00:17:52 +0000 (00:17 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Jul 2006 00:17:52 +0000 (00:17 +0000)
PR libgfortran/25289
* libgfortran.h: Add conditional definition of GFC_LARGE_IO_INT type.
* io/io.h (st_parameter_dt): Define rec as type GFC_LARGE_IO_INT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115698 138bc75d-0d04-0410-961f-82ee72b054a4

libgfortran/ChangeLog
libgfortran/io/io.h
libgfortran/libgfortran.h

index c19ac41..58ef0aa 100644 (file)
@@ -1,3 +1,9 @@
+2006-07-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR libgfortran/25289
+       * libgfortran.h: Add conditional definition of GFC_LARGE_IO_INT type.
+       * io/io.h (st_parameter_dt): Define rec as type GFC_LARGE_IO_INT.
+
 2006-07-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 
        PR libgfortran/28339
index 822930e..e16d4b6 100644 (file)
@@ -351,7 +351,7 @@ struct format_data;
 typedef struct st_parameter_dt
 {
   st_parameter_common common;
-  GFC_INTEGER_4 rec;
+  GFC_LARGE_IO_INT rec;
   GFC_INTEGER_4 *size, *iolength;
   gfc_array_char *internal_unit_desc;
   CHARACTER1 (format);
index 5dd2a51..27abfe8 100644 (file)
@@ -196,6 +196,18 @@ typedef off_t gfc_offset;
 
 #include "kinds.h"
 
+/* Define the type used for the current record number for large file I/O.
+   The size must be consistent with the size defined on the compiler side.  */
+#ifdef HAVE_GFC_INTEGER_8
+typedef GFC_INTEGER_8 GFC_LARGE_IO_INT;
+#else
+#ifdef HAVE_GFC_INTEGER_4
+typedef GFC_INTEGER_4 GFC_LARGE_IO_INT;
+#else
+#error "GFC_INTEGER_4 should be available for the library to compile".
+#endif
+#endif
+
 /* The following two definitions must be consistent with the types used
    by the compiler.  */
 /* The type used of array indices, amongst other things.  */