I understand "long" bit fields are in ISO, but its a gcc extension so it would seem it should play nice with as much of the language as possible.
It seems the root of the problem here is the length encoding in the type, why does gcc do that, does the standard require it? On Mon, Feb 22, 2016 at 3:48 PM, Joseph Myers <jos...@codesourcery.com> wrote: > On Mon, 22 Feb 2016, Wink Saville wrote: > >> What about printing of "long" bit fields? I wonder if there should be an >> option which indicates that bit field types should not include their length. > > "long" bit-fields aren't even guaranteed by ISO C to be supported at all; > portable code must avoid them. The portable way to print values of > arbitrary integer types is to cast to intmax_t / uintmax_t and then use > corresponding formats; that works fine with such bit-fields as well as > normal types. > > -- > Joseph S. Myers > jos...@codesourcery.com