https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103707
anlauf at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2022-06-26 CC| |anlauf at gcc dot gnu.org Status|UNCONFIRMED |NEW Ever confirmed|0 |1 --- Comment #6 from anlauf at gcc dot gnu.org --- (In reply to Thomas Koenig from comment #5) > Thanks for the quick reduction, Gerhard. > > This originally came from something like > > program p > real, parameter :: fmin(1) = 0. > real, parameter :: fmax(1) = 1. > real :: x(1) > where (fmin <= 0) > x = fmin + (fmax-fmin) > elsewhere > x = (fmax/fmin)**2 > end where > print *,x > end > > so there is no division by zero at runtime. Some data points from other compiler that reject the code: NAG prints NAG Fortran Compiler Release 7.0(Yurakucho) Build 7009 Error: pr103707.f90, line 8: Floating-point divide by zero Cray versions 10 thru 14 print: x = (fmax/fmin)**2 ^ ftn-1184 crayftn: WARNING P, File = pr103707.f90, Line = 8, Column = 16 Evaluation of this constant expression produced a NaN or other abnormal value. ^ ftn-1184 crayftn: WARNING P, File = pr103707.f90, Line = 8, Column = 22 Evaluation of this constant expression produced a NaN or other abnormal value. Cray Fortran : Version 14.0.0 (20220420160222_c98838affc7b58fed2a72f164d77c35e1bc8772f) Intel and Nvidia are silent. While gfortran's error message is misleading, what is our plan? Avoid simplification in the frontend?