diff options
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 6 | ||||
-rw-r--r-- | libgfortran/io/io.h | 2 | ||||
-rw-r--r-- | libgfortran/libgfortran.h | 12 |
3 files changed, 19 insertions, 1 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index c19ac41..58ef0aa 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -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 diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h index 822930e..e16d4b6 100644 --- a/libgfortran/io/io.h +++ b/libgfortran/io/io.h @@ -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); diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h index 5dd2a51..27abfe8 100644 --- a/libgfortran/libgfortran.h +++ b/libgfortran/libgfortran.h @@ -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. */ |