https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23471
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2021-08-29 00:00:00 |2025-4-19
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So EVRP gives the correct range:
# RANGE [irange] int [0, +INF] MASK 0xfffffffd VALUE 0x0
t_3 = a_2(D) * a_2(D);
We still miss out on:
```
void link_error(void);
void f(int a)
{
if (a*a*a*a*a*a < 0)
link_error();
}
```