summaryrefslogtreecommitdiff
path: root/gcc/fortran/intrinsic.c
diff options
context:
space:
mode:
authorfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-05 10:18:38 +0000
committerfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-05 10:18:38 +0000
commit4e549567c4c8d21e6551068f7cae378c78d8fd44 (patch)
tree8fbc4df09bb7056308d0cdaf08f97a757f42143a /gcc/fortran/intrinsic.c
parent3a943084c6493b7415990ef0fe56edcb65d397e6 (diff)
downloadgcc-4e549567c4c8d21e6551068f7cae378c78d8fd44.tar.gz
PR fortran/32979
* intrinsic.h (gfc_check_isnan): Add prototype. * gfortran.h (gfc_isym_id): Add GFC_ISYM_ISNAN. * intrinsic.c (add_functions): Add ISNAN intrinsic. * check.c (gfc_check_isnan): New function. * trans-intrinsic.c (gfc_conv_intrinsic_isnan): New function. (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_isnan to translate ISNAN. * intrinsic.texi: Document ISNAN. * gfortran.dg/isnan_1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127224 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/intrinsic.c')
-rw-r--r--gcc/fortran/intrinsic.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index 11f47b5ce3b..e175dd678b9 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -1617,6 +1617,12 @@ add_functions (void)
make_generic ("isatty", GFC_ISYM_ISATTY, GFC_STD_GNU);
+ add_sym_1 ("isnan", GFC_ISYM_ISNAN, CLASS_ELEMENTAL, ACTUAL_NO, BT_LOGICAL,
+ dl, GFC_STD_GNU, gfc_check_isnan, NULL, NULL,
+ x, BT_REAL, 0, REQUIRED);
+
+ make_generic ("isnan", GFC_ISYM_ISNAN, GFC_STD_GNU);
+
add_sym_2 ("rshift", GFC_ISYM_RSHIFT, CLASS_ELEMENTAL, ACTUAL_NO, BT_INTEGER, di, GFC_STD_GNU,
gfc_check_ishft, NULL, gfc_resolve_rshift,
i, BT_INTEGER, di, REQUIRED, sh, BT_INTEGER, di, REQUIRED);