+2004-05-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
+
+ PR fortran/15235
+ * gfortran.h (offset_t): Rename to ...
+ (gfc_offset): ... this.
+ * io/backspace.c (formatted_backspace, unformatted_backspace),
+ io/io.h (stream, gfc_unit, global_t, file_length, file_position),
+ transfer.c (us_read, us_write, next_record_r, next_record_w),
+ io/unit.c (init_units), unix.c (unix_stream, fd_alloc,
+ fd_alloc_r_at, fd_alloc_w_at, fd_seek, mmap_alloc,
+ mmap_alloc_r_at, mmap_alloc_w_at, mmap_seek, mem_alloc_r_at,
+ mem_alloc_w_at, mem_seek, file_length, file_position): Replace all
+ occurences of offset_t by gfc_offset.
+
2004-05-16 Paul Brook <paul@codesourcery.com>
* io/format.c (write_real): Don't include padding in format.
static void
formatted_backspace (void)
{
- offset_t base;
+ gfc_offset base;
char *p;
int n;
static void
unformatted_backspace (void)
{
- offset_t *p, new;
+ gfc_offset *p, new;
int length;
- length = sizeof (offset_t);
+ length = sizeof (gfc_offset);
- p = (offset_t *) salloc_r_at (current_unit->s, &length,
+ p = (gfc_offset *) salloc_r_at (current_unit->s, &length,
file_position (current_unit->s) - length);
if (p == NULL)
goto io_error;
typedef struct stream
{
- char *(*alloc_w_at) (struct stream *, int *, offset_t);
- char *(*alloc_r_at) (struct stream *, int *, offset_t);
+ char *(*alloc_w_at) (struct stream *, int *, gfc_offset);
+ char *(*alloc_r_at) (struct stream *, int *, gfc_offset);
try (*sfree) (struct stream *);
try (*close) (struct stream *);
- try (*seek) (struct stream *, offset_t);
+ try (*seek) (struct stream *, gfc_offset);
try (*truncate) (struct stream *);
}
stream;
endfile;
unit_flags flags;
- offset_t recl, last_record, maxrec, bytes_left;
+ gfc_offset recl, last_record, maxrec, bytes_left;
/* recl -- Record length of the file.
last_record -- Last record number read or written
{
int in_library; /* Nonzero if a library call is being processed. */
int size; /* Bytes processed by the current data-transfer statement. */
- offset_t max_offset; /* Maximum file offset. */
+ gfc_offset max_offset; /* Maximum file offset. */
int item_count; /* Item number in a formatted data transfer. */
int reversion_flag; /* Format reversion has occurred. */
int first_item;
const char *inquire_readwrite (const char *, int);
#define file_length prefix(file_length)
-offset_t file_length (stream *);
+gfc_offset file_length (stream *);
#define file_position prefix(file_position)
-offset_t file_position (stream *);
+gfc_offset file_position (stream *);
#define is_seekable prefix(is_seekable)
int is_seekable (stream *);
static void
us_read (void)
{
- offset_t *p;
+ gfc_offset *p;
int n;
- n = sizeof (offset_t);
- p = (offset_t *) salloc_r (current_unit->s, &n);
+ n = sizeof (gfc_offset);
+ p = (gfc_offset *) salloc_r (current_unit->s, &n);
- if (p == NULL || n != sizeof (offset_t))
+ if (p == NULL || n != sizeof (gfc_offset))
{
generate_error (ERROR_BAD_US, NULL);
return;
static void
us_write (void)
{
- offset_t *p;
+ gfc_offset *p;
int length;
- length = sizeof (offset_t);
- p = (offset_t *) salloc_w (current_unit->s, &length);
+ length = sizeof (gfc_offset);
+ p = (gfc_offset *) salloc_w (current_unit->s, &length);
if (p == NULL)
{
next_record_r (int done)
{
int rlength, length;
- offset_t new;
+ gfc_offset new;
char *p;
switch (current_mode ())
{
case UNFORMATTED_SEQUENTIAL:
- current_unit->bytes_left += sizeof (offset_t); /* Skip over tail */
+ current_unit->bytes_left += sizeof (gfc_offset); /* Skip over tail */
/* Fall through */
static void
next_record_w (int done)
{
- offset_t c, m;
+ gfc_offset c, m;
int length;
char *p;
m = current_unit->recl - current_unit->bytes_left; /* Bytes written */
c = file_position (current_unit->s);
- length = sizeof (offset_t);
+ length = sizeof (gfc_offset);
/* Write the length tail */
if (p == NULL)
goto io_error;
- *((offset_t *) p) = m;
+ *((gfc_offset *) p) = m;
if (sfree (current_unit->s) == FAILURE)
goto io_error;
if (p == NULL)
generate_error (ERROR_OS, NULL);
- *((offset_t *) p) = m;
+ *((gfc_offset *) p) = m;
if (sfree (current_unit->s) == FAILURE)
goto io_error;
/* Seek past the end of the current record */
- if (sseek (current_unit->s, c + sizeof (offset_t)) == FAILURE)
+ if (sseek (current_unit->s, c + sizeof (gfc_offset)) == FAILURE)
goto io_error;
break;
void
init_units (void)
{
- offset_t m, n;
+ gfc_offset m, n;
gfc_unit *u;
int i;
}
/* Calculate the maximum file offset in a portable manner.
- * max will be the largest signed number for the type offset_t.
+ * max will be the largest signed number for the type gfc_offset.
*
* set a 1 in the LSB and keep a running sum, stopping at MSB-1 bit. */
g.max_offset = 0;
for (i=0; i < sizeof(g.max_offset) * 8 - 1; i++)
- g.max_offset = g.max_offset + ((offset_t) 1 << i);
+ g.max_offset = g.max_offset + ((gfc_offset) 1 << i);
}
stream st;
int fd;
- offset_t buffer_offset; /* File offset of the start of the buffer */
- offset_t physical_offset; /* Current physical file offset */
- offset_t logical_offset; /* Current logical file offset */
- offset_t dirty_offset; /* Start of modified bytes in buffer */
- offset_t file_length; /* Length of the file, -1 if not seekable. */
+ gfc_offset buffer_offset; /* File offset of the start of the buffer */
+ gfc_offset physical_offset; /* Current physical file offset */
+ gfc_offset logical_offset; /* Current logical file offset */
+ gfc_offset dirty_offset; /* Start of modified bytes in buffer */
+ gfc_offset file_length; /* Length of the file, -1 if not seekable. */
char *buffer;
int len; /* Physical length of the current buffer */
* to come next. */
static void
-fd_alloc (unix_stream * s, offset_t where, int *len)
+fd_alloc (unix_stream * s, gfc_offset where, int *len)
{
char *new_buffer;
int n, read_len;
* NULL on I/O error. */
static char *
-fd_alloc_r_at (unix_stream * s, int *len, offset_t where)
+fd_alloc_r_at (unix_stream * s, int *len, gfc_offset where)
{
- offset_t m;
+ gfc_offset m;
int n;
if (where == -1)
* we've already buffered the data or we need to load it. */
static char *
-fd_alloc_w_at (unix_stream * s, int *len, offset_t where)
+fd_alloc_w_at (unix_stream * s, int *len, gfc_offset where)
{
- offset_t n;
+ gfc_offset n;
if (where == -1)
where = s->logical_offset;
static int
-fd_seek (unix_stream * s, offset_t offset)
+fd_seek (unix_stream * s, gfc_offset offset)
{
s->physical_offset = s->logical_offset = offset;
* guaranteed to be mappable. */
static try
-mmap_alloc (unix_stream * s, offset_t where, int *len)
+mmap_alloc (unix_stream * s, gfc_offset where, int *len)
{
- offset_t offset;
+ gfc_offset offset;
int length;
char *p;
static char *
-mmap_alloc_r_at (unix_stream * s, int *len, offset_t where)
+mmap_alloc_r_at (unix_stream * s, int *len, gfc_offset where)
{
- offset_t m;
+ gfc_offset m;
if (where == -1)
where = s->logical_offset;
static char *
-mmap_alloc_w_at (unix_stream * s, int *len, offset_t where)
+mmap_alloc_w_at (unix_stream * s, int *len, gfc_offset where)
{
if (where == -1)
where = s->logical_offset;
static int
-mmap_seek (unix_stream * s, offset_t offset)
+mmap_seek (unix_stream * s, gfc_offset offset)
{
s->logical_offset = offset;
static char *
-mem_alloc_r_at (unix_stream * s, int *len, offset_t where)
+mem_alloc_r_at (unix_stream * s, int *len, gfc_offset where)
{
- offset_t n;
+ gfc_offset n;
if (where == -1)
where = s->logical_offset;
static char *
-mem_alloc_w_at (unix_stream * s, int *len, offset_t where)
+mem_alloc_w_at (unix_stream * s, int *len, gfc_offset where)
{
- offset_t m;
+ gfc_offset m;
if (where == -1)
where = s->logical_offset;
static int
-mem_seek (unix_stream * s, offset_t offset)
+mem_seek (unix_stream * s, gfc_offset offset)
{
if (offset > s->file_length)
/* file_length()-- Return the file length in bytes, -1 if unknown */
-offset_t
+gfc_offset
file_length (stream * s)
{
/* file_position()-- Return the current position of the file */
-offset_t
+gfc_offset
file_position (stream * s)
{
#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
-typedef off_t offset_t;
+typedef off_t gfc_offset;
#ifndef NULL
#define NULL (void *) 0