mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-24 00:59:38 +08:00
re PR fortran/26816 ([4.1 only] FLOAT Intrinsic does not work with Integer Halfword input)
PR fortran/26816 * intrinsic.c (add_functions): Allow FLOAT to accept all integer kinds. * intrinsic.texi: Document FLOAT. * gfortran.dg/float_1.f90: New test. From-SVN: r112392
This commit is contained in:
parent
0853054e96
commit
6110b776bc
@ -1,3 +1,9 @@
|
||||
2006-03-25 Steven G. Kargl <kargls@comcast.net>
|
||||
|
||||
PR fortran/26816
|
||||
* intrinsic.c (add_functions): Allow FLOAT to accept all integer kinds.
|
||||
* intrinsic.texi: Document FLOAT.
|
||||
|
||||
2006-03-25 Thomas Koenig <Thomas.Koenig@online.de>
|
||||
|
||||
PR fortran/26769
|
||||
|
@ -1899,7 +1899,7 @@ add_functions (void)
|
||||
a, BT_UNKNOWN, dr, REQUIRED);
|
||||
|
||||
add_sym_1 ("float", 1, 0, BT_REAL, dr, GFC_STD_F77,
|
||||
NULL, gfc_simplify_float, NULL,
|
||||
gfc_check_i, gfc_simplify_float, NULL,
|
||||
a, BT_INTEGER, di, REQUIRED);
|
||||
|
||||
add_sym_1 ("sngl", 1, 0, BT_REAL, dr, GFC_STD_F77,
|
||||
|
@ -88,6 +88,7 @@ and editing. All contributions and corrections are strongly encouraged.
|
||||
* @code{EXP}: EXP, Exponential function
|
||||
* @code{EXPONENT}: EXPONENT, Exponent function
|
||||
* @code{FDATE}: FDATE, Subroutine (or function) to get the current time as a string
|
||||
* @code{FLOAT}: FLOAT, Convert integer to default real
|
||||
* @code{FLOOR}: FLOOR, Integer floor function
|
||||
* @code{FNUM}: FNUM, File number function
|
||||
* @code{FREE}: FREE, Memory de-allocation subroutine
|
||||
@ -2842,6 +2843,41 @@ end program test_fdate
|
||||
@end smallexample
|
||||
@end table
|
||||
|
||||
@node FLOAT
|
||||
@section @code{FLOAT} --- Convert integer to default real
|
||||
@findex @code{FLOAT} intrinsic
|
||||
@cindex floor
|
||||
|
||||
@table @asis
|
||||
@item @emph{Description}:
|
||||
@code{FLOAT(I)} converts the integer @var{I} to a default real value.
|
||||
|
||||
@item @emph{Option}:
|
||||
gnu
|
||||
|
||||
@item @emph{Class}:
|
||||
function
|
||||
|
||||
@item @emph{Syntax}:
|
||||
@code{X = FLOAT(I)}
|
||||
|
||||
@item @emph{Arguments}:
|
||||
@multitable @columnfractions .15 .80
|
||||
@item @var{I} @tab The type shall be @code{INTEGER(*)}.
|
||||
@end multitable
|
||||
|
||||
@item @emph{Return value}:
|
||||
The return value is of type default @code{REAL}
|
||||
|
||||
@item @emph{Example}:
|
||||
@smallexample
|
||||
program test_float
|
||||
integer :: i = 1
|
||||
if (float(i) /= 1.) call abort
|
||||
end program test_float
|
||||
@end smallexample
|
||||
@end table
|
||||
|
||||
|
||||
@node FLOOR
|
||||
@section @code{FLOOR} --- Integer floor function
|
||||
|
@ -1,3 +1,8 @@
|
||||
2006-03-25 Steven G. Kargl <kargls@comcast.net>
|
||||
|
||||
PR fortran/26816
|
||||
* gfortran.dg/float_1.f90: New test.
|
||||
|
||||
2006-03-25 Steven G. Kargl <kargsl@comcast.net>
|
||||
|
||||
* gfortran.dg/transfer_array_intrinsic_1.f90: Restrict to i?86 and
|
||||
|
12
gcc/testsuite/gfortran.dg/float_1.f90
Normal file
12
gcc/testsuite/gfortran.dg/float_1.f90
Normal file
@ -0,0 +1,12 @@
|
||||
! { dg-do run }
|
||||
! PR fortran/26816
|
||||
program test_float
|
||||
integer(1) :: i1 = 1
|
||||
integer(2) :: i2 = 1
|
||||
integer(4) :: i4 = 1
|
||||
integer(8) :: i8 = 1
|
||||
if (float(i1) /= 1.) call abort
|
||||
if (float(i2) /= 1.) call abort
|
||||
if (float(i4) /= 1.) call abort
|
||||
if (float(i8) /= 1.) call abort
|
||||
end program test_float
|
Loading…
Reference in New Issue
Block a user