https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91351

Marc Glisse <glisse at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|glisse at gcc dot gnu.org          |

--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> ---
Switch lowering produces things like

  _6 = e_2(D) + 4294967285;
  if (_6 > 2)

for range checking, where _6 has type enum E, and VRP2 later takes advantage of
strict enum to assume that _6 cannot be large. It seems like the range check
should use a type that is not an enum.

(the bisection result makes little sense to me)

Reply via email to