https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117179
--- Comment #7 from Sam James <sjames at gcc dot gnu.org> --- I think your patch here isn't really getting it wrong, it's just that the structure of the if() across multiple lines doesn't make it obvious?