+2007-12-17 Tobias Burnus <burnus@net-b.de>
+
+ * intrinsic.c (add_functions): Undo change; mark float and
+ sngl as STD_F77.
+ * intrinsic.texi (FLOAT, SNGL): Change standard to F77 and later.
+ * gfortran.texi (BOZ): Make note about FLOAT etc. clearer.
+
2007-12-16 Tobias Burnus <burnus@net-b.de>
PR fortran/34495
and @code{CMPLX}; the result is the same as if the integer BOZ
literal had been converted by @code{TRANSFER} to, respectively,
@code{real}, @code{double precision}, @code{integer} or @code{complex}.
-The GNU Fortran intrinsic procedure @code{FLOAT}, @code{DFLOAT},
-@code{COMPLEX} and @code{DCMPLX} are treated alike.
+As GNU Fortran extension the intrinsic procedures @code{FLOAT},
+@code{DFLOAT}, @code{COMPLEX} and @code{DCMPLX} are treated alike.
As an extension, GNU Fortran allows hexadecimal BOZ literal constants to
be specified using the @code{X} prefix, in addition to the standard
gfc_check_fn_c, gfc_simplify_realpart, gfc_resolve_realpart,
a, BT_UNKNOWN, dr, REQUIRED);
- add_sym_1 ("float", GFC_ISYM_REAL, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dr, GFC_STD_GNU,
+ add_sym_1 ("float", GFC_ISYM_REAL, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dr, GFC_STD_F77,
gfc_check_i, gfc_simplify_float, NULL,
a, BT_INTEGER, di, REQUIRED);
- add_sym_1 ("sngl", GFC_ISYM_REAL, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dr, GFC_STD_GNU,
+ add_sym_1 ("sngl", GFC_ISYM_REAL, CLASS_ELEMENTAL, ACTUAL_NO, BT_REAL, dr, GFC_STD_F77,
NULL, gfc_simplify_sngl, NULL,
a, BT_REAL, dd, REQUIRED);
@code{FLOAT(I)} converts the integer @var{I} to a default real value.
@item @emph{Standard}:
-GNU extension
+F77 and later
@item @emph{Class}:
Elemental function
that is specific to one type for @var{A}.
@item @emph{Standard}:
-GNU extension
+F77 and later
@item @emph{Class}:
Elemental function
+2007-12-17 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/initialization_16.f90: Update as FLOAT/SNGL are
+ part of Fortran 77/95/2003.
+
2007-12-17 Dorit Nuzman <dorit@il.ibm.com>
PR tree-optimization/34445
implicit none
real, parameter :: r1 = real(33) ! { dg-error "Fortran 2003: Function 'real' as initialization expression" }
real, parameter :: r2 = dble(33) ! { dg-error "Fortran 2003: Function 'dble' as initialization expression" }
- real, parameter :: r4 = cmplx(33,33)! { dg-error "Fortran 2003: Function 'cmplx' as initialization expression" }
- print *, sngl(1.0d0) ! { dg-error "not included in the selected standard" }
- print *, float(1.0) ! { dg-error "not included in the selected standard" }
+ complex, parameter :: z = cmplx(33,33)! { dg-error "Fortran 2003: Function 'cmplx' as initialization expression" }
+ real, parameter :: r4 = sngl(3.d0) ! { dg-error "Fortran 2003: Function 'sngl' as initialization expression" }
+ real, parameter :: r5 = float(33) ! { dg-error "Fortran 2003: Function 'float' as initialization expression" }
end program main