Hi Steve,

I am not subscribed to the list (too little time, sadly), please keep me in CC 
of your responses.

> 1. You added fmin, fmax, and friends.  Are these used 
>    internally by gfortran in support of the IEEE_*
>    functions or are these exposed to the user?

The math builtins are added to the front-end, and use for code generation. In 
conv_intrinsic_ieee_minmax(), you can see we find the right function using 
things like: builtin_decl_explicit (BUILT_IN_ISSIGNALING)

Those built-ins are not exposed to the user: we don’t need any more 
GNU-specific intrinsics, methinks.


> 2. I did not see error handling or conversion, but on a
>    quick scan I may have missed it.  What happens with
>    IEEE_MAX_NUM(2.0_4, 3.0_8) or IEEE_MAX_NUM(2.0_4, INT(3))?
>    17.11.17 has
> 
>    X shall be of type real.
>    Y shall be of the same type and kind type parameter as X.


As you saw, the module built as part of libgfortran deals with that. In the 
longer term, we would need a revamp of those modules to handle everything as 
intrinsic modules, which would give us more flexibility, but I never found the 
time to do this migration :(

Best,
FX

Reply via email to