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~