This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH[b-i=b]: Change cpp_hashnode.directive_index to a bit-field
- From: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- To: per at bothner dot com
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 9 Dec 2002 17:15:19 -0500 (EST)
- Subject: Re: PATCH[b-i=b]: Change cpp_hashnode.directive_index to a bit-field
> I wonder: Are there actually still any machines that have signed
> bitfields, supported as gcc hosts?
Yes. Solaris2 cc has unsigned bitfields whereas irix6 cc has signed
bitfields by default. I got bitten by this in the new real.[ch]
implementation which relies on signed bitfields. See:
http://gcc.gnu.org/ml/gcc-patches/2002-09/msg01433.html
I fixed it for solaris2 by using the `signed' keyword to the relevant
field, (ansidecl.h handles defining `signed' to nothing for K&R C.)
Since we appear to have a solution for ISO C, IMHO the real question
is whether there are any >>K&R C<< compilers out there which we
support and which are unsigned by default. I think only hpux cc
possibly qualifies, and no one has reported a problem in the three
months since the new real.c implementation was installed. Perhaps
someone with access to these platforms could confirm?
If this holds, I believe we could use `signed' and be done with it.
--Kaveh
--
Kaveh R. Ghazi ghazi@caip.rutgers.edu