1 /* PR tree-optimization/64006 */
2
3 int v;
4
5 long __attribute__ ((noinline, noclone))
test(long * x,int y)6 test (long *x, int y)
7 {
8 int i;
9 long s = 1;
10 for (i = 0; i < y; i++)
11 if (__builtin_mul_overflow (s, x[i], &s))
12 v++;
13 return s;
14 }
15
16 int
main()17 main ()
18 {
19 long d[7] = { 975, 975, 975, 975, 975, 975, 975 };
20 long r = test (d, 7);
21 if (sizeof (long) * __CHAR_BIT__ == 64 && v != 1)
22 __builtin_abort ();
23 else if (sizeof (long) * __CHAR_BIT__ == 32 && v != 4)
24 __builtin_abort ();
25 return 0;
26 }
27