1! RUN: %python %S/test_folding.py %s %flang_fc1 2module m 3 use ieee_arithmetic 4 use ieee_exceptions 5 logical, parameter :: test_dt_all = ieee_support_datatype() 6 logical, parameter :: test_dt_4 = ieee_support_datatype(1.) 7 logical, parameter :: test_dt_8 = ieee_support_datatype(1.d0) 8 logical, parameter :: test_de_all = ieee_support_denormal() 9 logical, parameter :: test_de_4 = ieee_support_denormal(1.) 10 logical, parameter :: test_de_8 = ieee_support_denormal(1.d0) 11 logical, parameter :: test_di_all = ieee_support_divide() 12 logical, parameter :: test_di_4 = ieee_support_divide(1.) 13 logical, parameter :: test_di_8 = ieee_support_divide(1.d0) 14 logical, parameter :: test_fl_in_all = ieee_support_flag(ieee_invalid) 15 logical, parameter :: test_fl_in_4 = ieee_support_flag(ieee_invalid, 1.) 16 logical, parameter :: test_fl_in_8 = ieee_support_flag(ieee_invalid, 1.d0) 17 logical, parameter :: test_fl_ov_all = ieee_support_flag(ieee_overflow) 18 logical, parameter :: test_fl_ov_4 = ieee_support_flag(ieee_overflow, 1.) 19 logical, parameter :: test_fl_ov_8 = ieee_support_flag(ieee_overflow, 1.d0) 20 logical, parameter :: test_fl_d0_all = ieee_support_flag(ieee_divide_by_zero) 21 logical, parameter :: test_fl_d0_4 = ieee_support_flag(ieee_divide_by_zero, 1.) 22 logical, parameter :: test_fl_d0_8 = ieee_support_flag(ieee_divide_by_zero, 1.d0) 23 logical, parameter :: test_fl_un_all = ieee_support_flag(ieee_underflow) 24 logical, parameter :: test_fl_un_4 = ieee_support_flag(ieee_underflow, 1.) 25 logical, parameter :: test_fl_un_8 = ieee_support_flag(ieee_underflow, 1.d0) 26 logical, parameter :: test_fl_ix_all = ieee_support_flag(ieee_inexact) 27 logical, parameter :: test_fl_ix_4 = ieee_support_flag(ieee_inexact, 1.) 28 logical, parameter :: test_fl_ix_8 = ieee_support_flag(ieee_inexact, 1.d0) 29#if __x86_64__ 30 logical, parameter :: test_halt_in = ieee_support_halting(ieee_invalid) 31 logical, parameter :: test_halt_ov = ieee_support_halting(ieee_overflow) 32 logical, parameter :: test_halt_d0 = ieee_support_halting(ieee_divide_by_zero) 33 logical, parameter :: test_halt_un = ieee_support_halting(ieee_underflow) 34 logical, parameter :: test_halt_ix = ieee_support_halting(ieee_inexact) 35#endif 36 logical, parameter :: test_inf_all = ieee_support_inf() 37 logical, parameter :: test_inf_4 = ieee_support_inf(1.) 38 logical, parameter :: test_inf_8 = ieee_support_inf(1.d0) 39 logical, parameter :: test_io_all = ieee_support_io() 40 logical, parameter :: test_io_4 = ieee_support_io(1.) 41 logical, parameter :: test_io_8 = ieee_support_io(1.d0) 42 logical, parameter :: test_rd_0_all = ieee_support_rounding(ieee_to_zero) 43 logical, parameter :: test_rd_0_4 = ieee_support_rounding(ieee_to_zero, 1.) 44 logical, parameter :: test_rd_0_8 = ieee_support_rounding(ieee_to_zero, 1.d0) 45 logical, parameter :: test_rd_n_all = ieee_support_rounding(ieee_nearest) 46 logical, parameter :: test_rd_n_4 = ieee_support_rounding(ieee_nearest, 1.) 47 logical, parameter :: test_rd_n_8 = ieee_support_rounding(ieee_nearest, 1.d0) 48 logical, parameter :: test_rd_d_all = ieee_support_rounding(ieee_down) 49 logical, parameter :: test_rd_d_4 = ieee_support_rounding(ieee_down, 1.) 50 logical, parameter :: test_rd_d_8 = ieee_support_rounding(ieee_down, 1.d0) 51 logical, parameter :: test_rd_u_all = ieee_support_rounding(ieee_up) 52 logical, parameter :: test_rd_u_4 = ieee_support_rounding(ieee_up, 1.) 53 logical, parameter :: test_rd_u_8 = ieee_support_rounding(ieee_up, 1.d0) 54 logical, parameter :: test_sq_all = ieee_support_sqrt() 55 logical, parameter :: test_sq_4 = ieee_support_sqrt(1.) 56 logical, parameter :: test_sq_8 = ieee_support_sqrt(1.d0) 57 logical, parameter :: test_std_all = ieee_support_standard() 58 logical, parameter :: test_std_4 = ieee_support_standard(1.) 59 logical, parameter :: test_std_8 = ieee_support_standard(1.d0) 60 logical, parameter :: test_sn_all = ieee_support_subnormal() 61 logical, parameter :: test_sn_4 = ieee_support_subnormal(1.) 62 logical, parameter :: test_sn_8 = ieee_support_subnormal(1.d0) 63#if __x86_64__ 64 logical, parameter :: test_uc_all = .not. ieee_support_underflow_control() 65 logical, parameter :: test_uc_4 = ieee_support_underflow_control(1.) 66 logical, parameter :: test_uc_8 = ieee_support_underflow_control(1.d0) 67#endif 68end 69