aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/bitint-49.c
blob: 74d9bde7e155b3cbc121e743d2bc191000325c63 (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
30
31
32
33
34
35
36
37
/* PR tree-optimization/112880 */
/* { dg-do compile { target bitint } } */
/* { dg-options "-std=c23 -O2" } */

#if __BITINT_MAXWIDTH__ >= 1024
_BitInt(1024) a, b, c, d, e, f;

void
foo (void)
{
  __builtin_add_overflow (a, b, &a);
  __builtin_sub_overflow (c, d, &c);
  __builtin_mul_overflow (e, f, &e);
}
#endif

#if __BITINT_MAXWIDTH__ >= 512
_BitInt(512) g, h, i, j, k, l;

void
bar (void)
{
  __builtin_add_overflow (g, h, &g);
  __builtin_sub_overflow (i, j, &i);
  __builtin_mul_overflow (k, l, &k);
}
#endif

_BitInt(32) m, n, o, p, q, r;

void
baz (void)
{
  __builtin_add_overflow (m, n, &m);
  __builtin_sub_overflow (o, p, &o);
  __builtin_mul_overflow (q, r, &q);
}