+2007-10-30 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/33596
+ * trans-intrinsic.c (gfc_conv_intrinsic_isnan): Strip NOP_EXPR
+ from the result of build_call_expr.
+
2007-10-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31217
gfc_conv_intrinsic_function_args (se, expr, &arg, 1);
se->expr = build_call_expr (built_in_decls[BUILT_IN_ISNAN], 1, arg);
+ STRIP_TYPE_NOPS (se->expr);
se->expr = fold_convert (gfc_typenode_for_spec (&expr->ts), se->expr);
}
+2007-10-30 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/33596
+ * gfortran.dg/isnan_2.f90: New test.
+
2007-10-30 Ed Schouten <ed@fxq.nl>
PR tree-optimization/32500
--- /dev/null
+! Test for the ISNAN intrinsic on constants
+!
+! { dg-do run }
+! { dg-options "-fno-range-check" }
+! { dg-options "-fno-range-check -pedantic-errors -mieee" { target sh*-*-* } }
+!
+ implicit none
+ character(len=1) :: s
+ write(s,'(L1)') isnan(0.)
+ if (s /= 'F') call abort
+
+ write(s,'(L1)') isnan(exp(huge(0.)))
+ if (s /= 'F') call abort
+
+ write(s,'(L1)') isnan(0./0.)
+ if (s /= 'T') call abort
+end