c++: Fix ICE with #embed/RAW_DATA_CST after list conversion [PR118671]
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / bitint-46.c
blobaf0a3d1e4e06bb8d9e5afcc406b09b104a580bc7
1 /* PR tree-optimization/113334 */
2 /* { dg-do run { target bitint } } */
3 /* { dg-options "-std=c23 -pedantic-errors" } */
4 /* { dg-skip-if "" { ! run_expensive_tests } { "*" } { "-O0" "-O2" } } */
5 /* { dg-skip-if "" { ! run_expensive_tests } { "-flto" } { "" } } */
7 #if __BITINT_MAXWIDTH__ >= 384
8 __attribute__((noipa)) _BitInt(384)
9 foo (int s)
11 _BitInt(384) z = (-(unsigned _BitInt(384)) 4) >> s;
12 return z;
14 #endif
16 int
17 main ()
19 #if __BITINT_MAXWIDTH__ >= 384
20 if (foo (59) != 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwb)
21 __builtin_abort ();
22 if (foo (0) != -4wb)
23 __builtin_abort ();
24 if (foo (1) != 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffewb)
25 __builtin_abort ();
26 if (foo (11) != 0x001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwb)
27 __builtin_abort ();
28 if (foo (123) != 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwb)
29 __builtin_abort ();
30 #endif
31 return 0;