/* PR c/102989 */ /* { dg-do compile { target bitint } } */ /* { dg-options "-std=c23 -pedantic-errors" } */ _Atomic _BitInt(15) a; _Atomic(_BitInt(15)) b; _Atomic _BitInt(115) c; _Atomic _BitInt(192) d; _Atomic _BitInt(575) e; unsigned _BitInt(575) f; __attribute__((noipa)) _BitInt(575) foo (_BitInt(575) x) { return x; } __attribute__((noipa)) int bar (int x) { return x; } __attribute__((noipa)) _Atomic _BitInt(575) * baz (_Atomic _BitInt(575) *x) { return x; } int main () { a += 1wb; b -= 2wb; c *= 3wb; d /= 4wb; e -= 5wb; f = __atomic_fetch_add (&e, 54342985743985743985743895743834298574985734895743895734895wb, __ATOMIC_SEQ_CST); f += __atomic_sub_fetch (&e, 13110356772307144130089534440127211568864891923061809853784155727841516341877716905506658630804426134644404380556711020290072702485839594283061059349912463486203837251238365wb, __ATOMIC_SEQ_CST); f += __atomic_fetch_and (&e, -33740418462630594385361724744395454079240140931656245750192534103967695265126850678980088699287669565365078793986191778469857714756111026776864987769580622009237241167211461wb, __ATOMIC_RELAXED); f += __atomic_xor_fetch (&e, 30799001892772360282132495459823194445423296347702377756575214695893559890977912003055702776548378201752339680602420936304294728688029412276600086349055079523071860836114234wb, __ATOMIC_SEQ_CST); f += __atomic_fetch_or (baz (&e), foo (-6581969867283727911005990155704642154324773504588160884865628865547696324844988049982401783508268917375066790729408659617189350524019843499435572226770089390885472550659255wb), bar (__ATOMIC_RELAXED)); f += __atomic_nand_fetch (&e, 55047840194947228224723671648125013926111290688378416557548660662319034233151051252215595447712248992759177463741832904590457754423713378627482465906620631734790561114905369wb, __ATOMIC_ACQ_REL); }