1! { dg-do run } 2! { dg-additional-options "-ffpe-trap=overflow,invalid" } 3! 4! Use dg-additional-options rather than dg-options to avoid overwriting the 5! default IEEE options which are passed by ieee.exp and necessary. 6program foo 7 8 use ieee_arithmetic 9 10 implicit none 11 12 real x 13 real(8) y 14 15 x = ieee_value(x, ieee_signaling_nan) 16 if (.not. ieee_is_nan(x)) stop 1 17 x = ieee_value(x, ieee_quiet_nan) 18 if (.not. ieee_is_nan(x)) stop 2 19 20 x = ieee_value(x, ieee_positive_inf) 21 if (ieee_is_finite(x)) stop 3 22 x = ieee_value(x, ieee_negative_inf) 23 if (ieee_is_finite(x)) stop 4 24 25 y = ieee_value(y, ieee_signaling_nan) 26 if (.not. ieee_is_nan(y)) stop 5 27 y = ieee_value(y, ieee_quiet_nan) 28 if (.not. ieee_is_nan(y)) stop 6 29 30 y = ieee_value(y, ieee_positive_inf) 31 if (ieee_is_finite(y)) stop 7 32 y = ieee_value(y, ieee_negative_inf) 33 if (ieee_is_finite(y)) stop 8 34 35end program foo 36