This said, bitfields aren't used much in our field of interest for the same reason that makes them annoying for comparative testing, so perhaps I should just learn to accept that we may have bugs there but they don't matter so much.
Exactly-- embedded systems code that has to be portable across compilers generally just uses explicit shift and mask.
John