Re: [PATCH] Make large enum constants unsigned
Stefan Kristiansson <[email protected]> Thu, 29 May 2014 23:08:21 +0300
| Newsgroups | gmane.comp.tools.cgen.devel |
|---|---|
| Message-ID | <[email protected]> |
On Thu, May 22, 2014 at 05:06:21PM -0400, Frank Ch. Eigler wrote: > Hi - > > > > (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. > > > > I dismissed that, since it would create a lot larger diff in generated > > files than in the isolated cases where it's actually a problem. [...] > > IMHO, that's not such a big deal. We don't usually look closely at > the diffs of generated files, once the generating tools are trustworthy. > Ok, that's fine by me if others are ok with it. Below is the patch that does that. 2014-05-29 Stefan Kristiansson <[email protected]> * enum.scm (gen-enum-decl): Emit 'U' after constants. Index: enum.scm =================================================================== RCS file: /cvs/src/src/cgen/enum.scm,v retrieving revision 1.13 diff -u -r1.13 enum.scm --- enum.scm 13 Feb 2010 03:39:15 -0000 1.13 +++ enum.scm 29 May 2014 20:08:12 -0000 @@ -298,7 +298,8 @@ "" (string-append " = " (if (number? (cadr e)) - (number->string (cadr e)) + (string-append (number->string (cadr e)) + "U") (cadr e)))) )) (if (and san? include-sanitize-marker?)