------- Comment #8 from alexandre dot nunes at gmail dot com 2008-02-14 22:06 ------- (In reply to comment #7) > Yes, so for packed structs (which are a GCCism), GCC sets the rule. Better > documentation is certainly appreciated, but - what is the bug here? Did > the behavior change (I think it did for some 3.x releases) recently? >
I'm not sure if it's a bug, call it a clarification request, that may or may not involve a bug: It's stated somewhere in gcc docs that gcc tries to do things uniformly, only diverging between targets where there's a compelling reason to do so. So what I'm asking is: - Is the attribute((packed)) behaviour consistent between gcc ports regarding bitfield alignments? If not, why? - If attribute((packed)) is not consistent between gcc ports, could it be made so? At least sysv abi (as far as I've read) does not mandate anything about the bitfields within a word. I've not pointed to any ABI that does, however, that was the explanation I've got. That's where I said the abi could change (for several arches). You may say it's not worthy, and I would agree, but here is where the "bug" would (or would not) lie. - If not and there's no point changing it, could there be another attribute, or anything, that would have that effect (uniformity between ABIs)? I understand perfectly that using structures like that is meant to be non-portable, but it's quite handy to have something like that without too much worry about platforms, since altough I develop for several arches, almost all of them today have a gcc port, and I know there are others with similar issues. If this revert to be a non-bug and I can still hold a feature request on it, I would be satisfied. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33823