https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92684
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- There is a defect report dealing with this in C and such. Both are correct for C11 but would be incorrect for C90 which defines bit-field types because of the defect report. GCC decided to follow the C90 way because it is easier to implement one way for both.