aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/iresolve.c
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2004-05-14 15:51:27 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2004-05-14 15:51:27 +0200
commit8765339d0b13e84a05d615392655a9b13a604b4a (patch)
tree1a55820f124ad6214b64d327a41494b9f60afa76 /gcc/fortran/iresolve.c
parent9b089e0545b2b8f6455c91584714e5ab918dfac6 (diff)
downloadgcc-8765339d0b13e84a05d615392655a9b13a604b4a.zip
gcc-8765339d0b13e84a05d615392655a9b13a604b4a.tar.gz
gcc-8765339d0b13e84a05d615392655a9b13a604b4a.tar.bz2
re PR fortran/15205 (NEAREST intrinsic returns wrong value in DOUBLE PRECISION)
PR fortran/15205 * iresolve.c (gfc_resolve_nearest): Add new function. * intrinsic.h: ... declare it here. * intrinsic.c (add_functions): ... add it as resolving function for NEAREST. From-SVN: r81843
Diffstat (limited to 'gcc/fortran/iresolve.c')
-rw-r--r--gcc/fortran/iresolve.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c
index 68abc94..e873f03 100644
--- a/gcc/fortran/iresolve.c
+++ b/gcc/fortran/iresolve.c
@@ -911,6 +911,16 @@ gfc_resolve_modulo (gfc_expr * f, gfc_expr * a,
a->ts.kind);
}
+void
+gfc_resolve_nearest (gfc_expr * f, gfc_expr * a,
+ gfc_expr *p ATTRIBUTE_UNUSED)
+{
+
+ f->ts = a->ts;
+ f->value.function.name =
+ gfc_get_string ("__nearest_%c%d", gfc_type_letter (a->ts.type),
+ a->ts.kind);
+}
void
gfc_resolve_nint (gfc_expr * f, gfc_expr * a, gfc_expr * kind)