This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: Wrong warning? ISO C restric ts enumerator values to range of âintâ
On 06 February 2008 13:01, Felipe Contreras wrote:
> 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".
So, how about
typedef enum OMX_ERRORTYPE
{
OMX_ErrorNone = 0,
OMX_ErrorInsufficientResources = (int)0x80001000
} OMX_ERRORTYPE;
?
cheers,
DaveK
--
Can't think of a witty .sigline today....