[PATCH] DEFAULT_SIGNED_BITFIELDS Macro
Thu Jun 3 08:08:00 GMT 1999
>>>>> "Jeffrey" == Jeffrey A Law <email@example.com> writes:
Jeffrey> This may not be in the spirit of GCC, but if we fail to
Jeffrey> keep the signedness of bitfields the same as it has
Jeffrey> already been on that platform for years we introduce a
Jeffrey> stupid and totally avoidable change in the ABI.
That's a reasonable argument. But there's clearly a tradeoff:
o On the one hand, we will break the ABI on DG/UX. Some programs
that ran correctly on DG/UX will have to be modified, or have
their Makefiles altered.
o On the other hand, supposedly portable GNU CC programs (i.e.,
programs adhering to documented aspects of GNU CC, with the
expectation that they will be portable to other platforms
running GNU CC) will have to be modified, or have their
I'd still prefer to have GNU CC adhere to its own long-standing
documented behavior, but I'm not a DG/UX expert.
Jeffrey> And the signedness of bitfields does matter from an ABI
Jeffrey> standpoint, contrary to what the manual states. I've
Jeffrey> been nailed badly by it in the past.
It all depends on your definition of ABI, I think. I agree that this
would be a not-insignificant change.
At the very least, we should not expose a generic way of doing this,
i.e., via DEFAULT_BITFIELDS_SIGNED unless we wish to change the
manual. At the very very least there should be a big comment above
DEFAULT_BITFIELDS_SIGNED saying that changing the default is
considered wrong. Doing otherwise will only encourage people doing
ports to pick the value that matches the vendor's compiler, and that
will break our documented behavior.
Mark Mitchell firstname.lastname@example.org
CodeSourcery, LLC http://www.codesourcery.com
More information about the Gcc-patches