PR 39654 FTELL intrinsic function return type.
frontend ChangeLog: 2012-06-21 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/39654 * iresolve.c (gfc_resolve_ftell): Fix result kind and use new library function. library ChangeLog: 2012-06-21 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/39654 * io/intrinsics.c (ftell2): New function. * gfortran.map (_gfortran_ftell2): Export function. From-SVN: r188858
This commit is contained in:
parent
5175cbafd2
commit
67eb28c8b8
@ -1,3 +1,9 @@
|
|||||||
|
2012-06-21 Janne Blomqvist <jb@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/39654
|
||||||
|
* iresolve.c (gfc_resolve_ftell): Fix result kind and use new
|
||||||
|
library function.
|
||||||
|
|
||||||
2012-06-18 Tobias Burnus <burnus@net-b.de>
|
2012-06-18 Tobias Burnus <burnus@net-b.de>
|
||||||
|
|
||||||
* intrinsic.h (gfc_resolve_rank): New prototype.
|
* intrinsic.h (gfc_resolve_rank): New prototype.
|
||||||
|
@ -2480,7 +2480,7 @@ gfc_resolve_ftell (gfc_expr *f, gfc_expr *u)
|
|||||||
gfc_clear_ts (&ts);
|
gfc_clear_ts (&ts);
|
||||||
|
|
||||||
f->ts.type = BT_INTEGER;
|
f->ts.type = BT_INTEGER;
|
||||||
f->ts.kind = gfc_index_integer_kind;
|
f->ts.kind = gfc_intio_kind;
|
||||||
if (u->ts.kind != gfc_c_int_kind)
|
if (u->ts.kind != gfc_c_int_kind)
|
||||||
{
|
{
|
||||||
ts.type = BT_INTEGER;
|
ts.type = BT_INTEGER;
|
||||||
@ -2490,7 +2490,7 @@ gfc_resolve_ftell (gfc_expr *f, gfc_expr *u)
|
|||||||
gfc_convert_type (u, &ts, 2);
|
gfc_convert_type (u, &ts, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
f->value.function.name = gfc_get_string (PREFIX ("ftell"));
|
f->value.function.name = gfc_get_string (PREFIX ("ftell2"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2012-06-21 Janne Blomqvist <jb@gcc.gnu.org>
|
||||||
|
|
||||||
|
PR fortran/39654
|
||||||
|
* io/intrinsics.c (ftell2): New function.
|
||||||
|
* gfortran.map (_gfortran_ftell2): Export function.
|
||||||
|
|
||||||
2012-06-04 Robert Mason <rbmj@verizon.net>
|
2012-06-04 Robert Mason <rbmj@verizon.net>
|
||||||
Janne Blomqvist <jb@gcc.gnu.org>
|
Janne Blomqvist <jb@gcc.gnu.org>
|
||||||
|
|
||||||
|
@ -1189,6 +1189,11 @@ GFORTRAN_1.4 {
|
|||||||
_gfortran_eoshift2_16_char4;
|
_gfortran_eoshift2_16_char4;
|
||||||
} GFORTRAN_1.3;
|
} GFORTRAN_1.3;
|
||||||
|
|
||||||
|
GFORTRAN_1.5 {
|
||||||
|
global:
|
||||||
|
_gfortran_ftell2;
|
||||||
|
} GFORTRAN_1.4;
|
||||||
|
|
||||||
F2C_1.0 {
|
F2C_1.0 {
|
||||||
global:
|
global:
|
||||||
_gfortran_f2c_specific__abs_c4;
|
_gfortran_f2c_specific__abs_c4;
|
||||||
|
@ -272,6 +272,10 @@ gf_ftell (int unit)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Here is the ftell function with an incorrect return type; retained
|
||||||
|
due to ABI compatibility. */
|
||||||
|
|
||||||
extern size_t PREFIX(ftell) (int *);
|
extern size_t PREFIX(ftell) (int *);
|
||||||
export_proto_np(PREFIX(ftell));
|
export_proto_np(PREFIX(ftell));
|
||||||
|
|
||||||
@ -281,6 +285,22 @@ PREFIX(ftell) (int * unit)
|
|||||||
return gf_ftell (*unit);
|
return gf_ftell (*unit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Here is the ftell function with the correct return type, ensuring
|
||||||
|
that large files can be supported as long as the target supports
|
||||||
|
large integers; as of 4.8 the FTELL intrinsic function will call
|
||||||
|
this one instead of the old ftell above. */
|
||||||
|
|
||||||
|
extern GFC_IO_INT PREFIX(ftell2) (int *);
|
||||||
|
export_proto_np(PREFIX(ftell2));
|
||||||
|
|
||||||
|
GFC_IO_INT
|
||||||
|
PREFIX(ftell2) (int * unit)
|
||||||
|
{
|
||||||
|
return gf_ftell (*unit);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#define FTELL_SUB(kind) \
|
#define FTELL_SUB(kind) \
|
||||||
extern void ftell_i ## kind ## _sub (int *, GFC_INTEGER_ ## kind *); \
|
extern void ftell_i ## kind ## _sub (int *, GFC_INTEGER_ ## kind *); \
|
||||||
export_proto(ftell_i ## kind ## _sub); \
|
export_proto(ftell_i ## kind ## _sub); \
|
||||||
|
Loading…
Reference in New Issue
Block a user