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