| /* { dg-do run } */ | |
| /* { dg-options "-O1 -ftree-vrp" } */ | |
| /* PR tree-optimization/22230 | |
| The meet of the ranges in "i*i" was not computed correctly, leading | |
| gcc to believe that a was equal to 0 after the loop. */ | |
| extern void abort (void) __attribute__((noreturn)); | |
| int main (void) | |
| { | |
| long a, i; | |
| for (i = 0; i < 5; i++) | |
| a = i * i; | |
| if (a != 16) | |
| abort (); | |
| return 0; | |
| } | |