1 /* PR target/71554 */
2 
3 int v;
4 
5 __attribute__ ((noinline, noclone)) void
bar(void)6 bar (void)
7 {
8   v++;
9 }
10 
11 __attribute__ ((noinline, noclone))
12 void
foo(unsigned int x)13 foo (unsigned int x)
14 {
15   signed int y = ((-__INT_MAX__ - 1) / 2);
16   signed int r;
17   if (__builtin_mul_overflow (x, y, &r))
18     bar ();
19 }
20 
21 int
main()22 main ()
23 {
24   foo (2);
25   if (v)
26     __builtin_abort ();
27   return 0;
28 }
29