/* PR tree-optimization/64006 */ | |
int v; | |
long __attribute__ ((noinline, noclone)) | |
test (long *x, int y) | |
{ | |
int i; | |
long s = 1; | |
for (i = 0; i < y; i++) | |
if (__builtin_mul_overflow (s, x[i], &s)) | |
v++; | |
return s; | |
} | |
int | |
main () | |
{ | |
long d[7] = { 975, 975, 975, 975, 975, 975, 975 }; | |
long r = test (d, 7); | |
if (sizeof (long) * __CHAR_BIT__ == 64 && v != 1) | |
__builtin_abort (); | |
else if (sizeof (long) * __CHAR_BIT__ == 32 && v != 4) | |
__builtin_abort (); | |
return 0; | |
} |