https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127383

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
If it was just ~s.f, the right behavior would be to promote s.f to unsigned
_BitInt(65) type as required by C23 6.3.1.1/2:
The value from a bit-field of a bit-precise integer type is converted to the
corresponding bit-precise integer type.
But with the explicit cast it needs to be converted to that type and guess that
cast is at some point optimized away because it is the type of s.f before the
integral promotions.

Reply via email to