/* PR tree-optimization/69097 */ | |
__attribute__((noinline, noclone)) int | |
f1 (int x, int y) | |
{ | |
return x % y; | |
} | |
__attribute__((noinline, noclone)) int | |
f2 (int x, int y) | |
{ | |
return x % -y; | |
} | |
__attribute__((noinline, noclone)) int | |
f3 (int x, int y) | |
{ | |
int z = -y; | |
return x % z; | |
} | |
int | |
main () | |
{ | |
if (f1 (-__INT_MAX__ - 1, 1) != 0 | |
|| f2 (-__INT_MAX__ - 1, -1) != 0 | |
|| f3 (-__INT_MAX__ - 1, -1) != 0) | |
__builtin_abort (); | |
return 0; | |
} |