https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71985
--- Comment #5 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- (In reply to Manuel López-Ibáñez from comment #4) > g++ cannot know at the time of warning that d == 0.5, it just sees a > variable 'd' that may have any value, such as 0.0. Ah, but we do actually give an error for 0.0. So now I see the reporter's point about inconsistency.