https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115221
--- Comment #2 from Sam James <sjames at gcc dot gnu.org> --- ``` typedef unsigned uint32_t; int cde40_t; void aal_test_bit(); uint32_t cde40_key_pol(); long cde40_offset_check(uint32_t pos) { cde40_key_pol(); if (cde40_t) return pos ?: 0 % 0; } void cde40_check_struct() { uint32_t i, j, to_compare; for (;; i++) { cde40_offset_check(i); if (to_compare == 0) { if (i && cde40_key_pol()) ; to_compare = i; continue; } j = to_compare; for (; j < i; j++) aal_test_bit(); } } ``` but (like another recent range issue), it has the nasty division by zero again. Let me check the original...