The C++ front-end (and probably the C front-end) strips zero-width
    (and possibly unnamed) bitfields after class layout.  This can be
    justified in that those bitfields only affect layout; one doesn't need
    the middle-end to copy them around, etc.  So, you could probably fix
    this in the Java front end in the same way.  From your patch, it looks
    like you're letting the back end see these bitfields, and also that
    their DECL_SIZE is not set correctly, which is dangerous in general.

    So, I would suggest fixing this in the Java front end.

Note that the Ada front-end also has zero-width bitfield (they are of
aggregate type, though, and they are not and cannot be removed (since they
can be referenced).  DECL_SIZE is set correctly, though, but this bug
is not encountered (at least I've never seen it).

Reply via email to