https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92938
jcmvbkbc at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |UNCONFIRMED
Resolution|FIXED |---
--- Comment #5 from jcmvbkbc at gcc dot gnu.org ---
(In reply to Andrew Pinski from comment #3)
> I DON'T think it is a GCC issue. The code is broken.
Even if I remove all attributes from this function I see this issue:
static void bitmap_replace(unsigned long *dst,
const unsigned long *old,
const unsigned long *new,
const unsigned long *mask,
unsigned int nbits)
{
if ((__builtin_constant_p(nbits) && (nbits) <= 32 && (nbits) > 0))
*dst = (*old & ~(*mask)) | (*new & *mask);
else
__bitmap_replace(dst, old, new, mask, nbits);
}
Why is it broken?