Bootstrap failure on trunk: x86_64-linux-gnu
Richard Henderson
rth@redhat.com
Thu Feb 23 21:25:00 GMT 2006
On Wed, Feb 22, 2006 at 10:06:25AM -0700, Jeffrey A Law wrote:
> > > This does highlight one of the issues that keeps nagging at me.
> > > For an enumeration type, presumably we have TYPE_PRECISION set to
> > > the minimum precision necessary to hold all the values in the enum.
> > > What are TYPE_MIN_VAL/TYPE_MAX_VAL? Does TYPE_MAX_VALUE include
> > > values outside the enum, but which are included by the TYPE_PRECISION?
> >
> > In C++, there are no such values. In C++, the range of the type gets
> > rounded up to a power of two, so for:
> Great. That's what I expected to hear. Hopefully the C
> front end does something similar.
The C front end correctly copies the min, max, and precision
from the base type.
The C90 language doesn't have the clauses that C++ does that
allows for the narrowed precision. I think one can construe
that in C99, with extended integral types, but there's not so
much to be gained that it's worth being incompatible with C90.
r~
More information about the Gcc
mailing list