https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127965
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
Keywords| |wrong-code
Ever confirmed|0 |1
Priority|P3 |P2
Status|UNCONFIRMED |NEW
Summary|wrong code with |[14/15/16/17 Regression]
|__atomic_fetch_or |wrong code with
| |__atomic_fetch_or since
| |r13-3760
Last reconfirmed| |2026-10-17
Target Milestone|--- |14.5
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r13-3760-g03ed4e57e3d46a61513b3d1ab1720997aec8cf71
Testcase not dependent on the exact char and int precisions:
int
main ()
{
int x = (unsigned char) (-__SCHAR_MAX__ - 1);
int v = __atomic_fetch_or (&x, -__INT_MAX__ - 1, __ATOMIC_SEQ_CST);
if ((signed char) v >= 0)
__builtin_abort ();
}