------- Comment #48 from mmitchel at gcc dot gnu dot org  2006-02-13 22:42 
-------
I'm going to comment on the behavior issue raised in the comments from David
Moore, and then review the patch itself.

First, the C standard has nothing to say about this issue; even were it not for
the fact that the change only occurs within the scope of #pragma pack, both
behaviors are conformant.  Second, the ABI standards have nothing to say about
this issue, because (so far as I am aware) none of them discuss #pragma pack. 
If the current behavior (i.e., GCC 4.1 as of today) had been the behavior of
GCC for all time, I would not be in favor of making a change -- even though I
think the current behavior is peculiar.  However, the current behavior is
itself a change; we need to resolve the situation once and for all, and we
might as well do what seems best.  As Michael and I have agreed, it seems to
make sense that the zero-width bitfield directives have meaning based on their
types; that makes the GNU-extended language (including #pragma pack) more
expressive.

I understand the user perception/marketing issue around ABI stability, and
that's very important to me as well.  However, this is very much a corner case
(given the fact that #pragma pack is involved), and I think there are sound
technical arguments for the change.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22275

Reply via email to