On Wed, 4 Sep 2013 19:48:13, Hans-Peter Nilsson wrote: > On Tue, 3 Sep 2013, Richard Biener wrote: >> I think the warning can be completely implemented inside struct-layout.c >> for example in finish_bitfield_representative (if you pass that the first >> field >> in the group, too). Of course that is at the expense of warning for >> struct declarations rather than actual code differences (the struct may >> not be used) > > FWIW, I don't feeling stringly whether this is ok or not, but I > *think* missing warnings for (unused) declarations is ok; we are > (ok, I am) interested in semantic differences for generated > code, not declarations. > > brgds, H-P
Well, the way I see this is as follows: If the generated code depends on whether -fstrict-volatile-bitfileds setting, a warning should be generated. Of course there should be no false-positives. Otherwise this feature would be useless. The generated code depends on: - If the member is a bit field. (and not only a unaligned data value) - If the member is declared volatile. - If the object is declared volatile. - If the pointer is declared volatile. - The alignment of the structure. - The alignment of the access. That's why I chose that approach, otherwise I would only warn on every bit field, and that would be silly. Richard, I hope this discussion is not holding up Sandra's patch. At least Parts 1-3 are completely non-controversial. Thanks Bernd.