>>790
単精度を入れているのに倍精度で値が返ってきているのが気になる。
なんか倍精度と単精度をまぜこぜにしているか、コンパイラが間違っていてまぜこぜにしている。

g95はデフォの変数長を変えたせいで混乱に陥った。その辺かな?
FortranはRealとIntegerの長さが等しくないといけないのにそれを崩した。
まぁ64Bit時代には8バイト整数にしたいのはわかるけど、
そうなると倍精度がRealになって、倍精度が4倍精度になってハードウェア対応せずで憤死する。


https://ideone.com/m11vQN

こんな感じかな?
program test2ch
implicit none
real(8) :: a(1)
real :: b(2)
equivalence(a, b)
b(1) = 4.2e-2
b(2) = 0.0e0
print *, minval(a, dim = 1, mask = a > 0.0)
end program test2ch
実行結果
5.070575254129006E-315