aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/bitint-105.c
blob: d3215b1d4730c49f75b7480c298a6d5ef0ce69d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* PR middle-end/114628 */
/* { dg-do compile { target bitint } } */
/* { dg-options "-O2 -g" } */

int foo (int);
#if __BITINT_MAXWIDTH__ >= 129
__attribute__((returns_twice)) int bar (_BitInt(129) x);

void
baz (int x, _BitInt(129) y)
{
  void *q[] = { &&l1, &&l2 };
l2:
  x = foo (foo (3));
  bar (y);
  goto *q[x & 1];
l1:;
}

void
qux (int x, _BitInt(129) y)
{
  void *q[] = { &&l1, &&l2 };
l2:
  x = foo (foo (3));
  bar (y);
l1:;
}
#endif