/* PR tree-optimization/98727 */ | |
__attribute__((noipa)) long int | |
foo (long int x, long int y) | |
{ | |
long int z = (unsigned long) x * y; | |
if (x != z / y) | |
return -1; | |
return z; | |
} | |
int | |
main () | |
{ | |
if (foo (4, 24) != 96 | |
|| foo (124, 126) != 124L * 126 | |
|| foo (__LONG_MAX__ / 16, 17) != -1) | |
__builtin_abort (); | |
return 0; | |
} |