/* 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; }