This is the mail archive of the cgen@sourceware.org mailing list for the CGEN project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Make large enum constants unsigned


On Thu, 22 May 2014, Frank Ch. Eigler wrote:

> > >      (string-append "(signed int)" (number->string (cadr e)))
> > [...]
> > how would that be better than?
> >       (string-append (number->string (cadr e)) "U")
> 
> It would be a closer match to expressing our desire to match C enum
> typing, but I'd be fine with "U" suffixing too.

 TBH I don't understand what you mean here, a C compiler is free to choose 
from `char', `int' and `unsigned int' as the underlying (compatible) type 
of an enumeration as long as the type can represent all the member values 
defined.  How exactly the signed `int' type is going to be advantageous 
over the `unsigned int' type here?  If this is used to produce a bit mask, 
which I gather it is, then I find using an unsigned type more natural.

  Maciej


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]