aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/torture/bitint-69.c
blob: 5f89357678eca0052760dcda72ac8ac0eff2ca0e (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
/* PR libgcc/114755 */
/* { dg-do run { target bitint } } */
/* { dg-options "-std=c23" } */
/* { dg-skip-if "" { ! run_expensive_tests }  { "*" } { "-O0" "-O2" } } */
/* { dg-skip-if "" { ! run_expensive_tests } { "-flto" } { "" } } */

#if __BITINT_MAXWIDTH__ >= 255
_BitInt(65)
foo (void)
{
  _BitInt(255) a = 0x040404040404040404040404wb;
  _BitInt(65) b = -0xffffffffffffffffwb;
  _BitInt(65) r = a % b;
  return r;
}
#endif

int
main ()
{
#if __BITINT_MAXWIDTH__ >= 255
  _BitInt(65) x = foo ();
  if (x != 0x0404040408080808wb)
    __builtin_abort ();
#endif
}