Module expert needed

FX fxcoudert@gmail.com
Thu Aug 6 08:36:00 GMT 2015


> Did you by any chance try using:
>  use, intrinsic :: ieee_arithmetic ?
> 
> This seems to be necessary in gdb sessions to ensure that
> current_intmod is set. Without this, sym->from_intmod never gets set.

I think that from_intmod is set even without using explicitly “intrinsic”, because the codepath is the same in the end.

Example:

module foo
  use, intrinsic :: ieee_arithmetic
  use, intrinsic :: ieee_exceptions
end module foo

module bar
  use foo
end module

program test
  !use, intrinsic :: ieee_arithmetic ! this work
  !use :: ieee_arithmetic ! this also works
  use :: foo ! this doesn't work
  implicit none

  integer, parameter :: n = ieee_selected_real_kind(0, 0)
  logical, parameter :: l1 = ieee_support_halting(ieee_overflow)
  logical, parameter :: l2 = ieee_support_flag(ieee_overflow)
  logical, parameter :: l3 = ieee_support_flag(ieee_overflow, 0.)
  logical, parameter :: l4 = ieee_support_rounding(ieee_to_zero)
  logical, parameter :: l5 = ieee_support_rounding(ieee_to_zero, 0.d0)

  print *, n, l1, l2, l3, l4, l5
end



More information about the Fortran mailing list