OSDN Git Service

2006-10-06 Steven G. Kargl <kargl@gcc.gnu.org>
authorkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 9 Oct 2006 20:55:29 +0000 (20:55 +0000)
committerkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 9 Oct 2006 20:55:29 +0000 (20:55 +0000)
commit71d90ac4107ba992c588b08ac40eb201805aeae2
tree4cbf25139d75eee4bfd766806bf95bf90eef965d
parente2c4b60bdfc6d01ce48f5adf83ef23716f641300
2006-10-06  Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.h: Define GFC_MPFR_TOO_OLD via mpfr version info.
* arith.c (arctangent, gfc_check_real_range): Use it.
* simplify.c (gfc_simplify_atan2, gfc_simplify_exponent,
gfc_simplify_log, gfc_simplify_nearest): Use it.

PR fortran/15441
PR fortran/29312
* iresolve.c (gfc_resolve_rrspacing): Give rrspacing library
routine hidden precision argument.
(gfc_resolve_spacing): Give spacing library routine hidden
precision, emin - 1, and tiny(x) arguments.
* simplify.c (gfc_simplify_nearest): Remove explicit subnormalization.
(gfc_simplify_rrspacing): Implement formula from Fortran 95 standard.
(gfc_simplify_spacing): Implement formula from Fortran 2003 standard.
* trans-intrinsic.c (gfc_intrinsic_map_t) Declare rrspacing and
spacing via LIBF_FUNCTION
(prepare_arg_info, call_builtin_clz, gfc_conv_intrinsic_spacing,
gfc_conv_intrinsic_rrspacing): Remove functions.
(gfc_conv_intrinsic_function): Remove calls to
gfc_conv_intrinsic_spacing and gfc_conv_intrinsic_rrspacing.
* f95-lang.c (gfc_init_builtin_functions): Remove __builtin_clz,
__builtin_clzl and __builtin_clzll

2006-10-06  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/15441
PR fortran/29312
* configure.ac: Add HAVE_LDEXPF, HAVE_LDEXP, and HAVE_LDEXPL
* m4/spacing.m4: New file.  Use new HAVE_* defines.
* m4/rrspacing.m4: Ditto.
* Makefile.am: Handle new files.
* configure: Regenerated.
* Makefile.in: Ditto.
* config.h.in: Ditto.
* generated/spacing_r4.c: Generated.
* generated/spacing_r8.c: Ditto.
* generated/spacing_r10.c: Ditto.
* generated/spacing_r16.c: Ditto.
* generated/rrspacing_r4.c: Ditto.
* generated/rrspacing_r8.c: Ditto.
* generated/rrspacing_r10.c: Ditto.
* generated/rrspacing_r16.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117584 138bc75d-0d04-0410-961f-82ee72b054a4
23 files changed:
gcc/fortran/ChangeLog
gcc/fortran/arith.c
gcc/fortran/f95-lang.c
gcc/fortran/gfortran.h
gcc/fortran/iresolve.c
gcc/fortran/simplify.c
gcc/fortran/trans-intrinsic.c
libgfortran/ChangeLog
libgfortran/Makefile.am
libgfortran/Makefile.in
libgfortran/config.h.in
libgfortran/configure
libgfortran/configure.ac
libgfortran/generated/rrspacing_r10.c [new file with mode: 0644]
libgfortran/generated/rrspacing_r16.c [new file with mode: 0644]
libgfortran/generated/rrspacing_r4.c [new file with mode: 0644]
libgfortran/generated/rrspacing_r8.c [new file with mode: 0644]
libgfortran/generated/spacing_r10.c [new file with mode: 0644]
libgfortran/generated/spacing_r16.c [new file with mode: 0644]
libgfortran/generated/spacing_r4.c [new file with mode: 0644]
libgfortran/generated/spacing_r8.c [new file with mode: 0644]
libgfortran/m4/rrspacing.m4 [new file with mode: 0644]
libgfortran/m4/spacing.m4 [new file with mode: 0644]