PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / pr64006.c
blobddf9207d95baca178ec3ad1ccc0042d940079ae8
1 /* PR tree-optimization/64006 */
3 int v;
5 long __attribute__ ((noinline, noclone))
6 test (long *x, int y)
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;
16 int
17 main ()
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;