This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Wrong warning? ISO C restricts enumerator values to range of âintâ
On Feb 6, 2008 2:47 PM, Andreas Schwab <schwab@suse.de> wrote:
> "Felipe Contreras" <felipe.contreras@gmail.com> writes:
>
> > This is what ISO C says:
> >
> > Each enumerated type shall be compatible with char, a signed integer
> > type, or an unsigned integer type. The choice of type is
> > implementation-defined,110) but shall be capable of representing the
> > values of all the members of the enumeration.
>
> The standard also says:
>
> The expression that deïnes the value of an enumeration constant shall
> be an integer constant expression that has a value representable as an
> int.
Ahh, I see. So even if the type of the enum is specified by the
compiler as "unsigned int"; the value assigned to it can only be an
"int".
--
Felipe Contreras