From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25708 invoked by alias); 22 May 2014 07:10:45 -0000 Mailing-List: contact cgen-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cgen-owner@sourceware.org Received: (qmail 25687 invoked by uid 89); 22 May 2014 07:10:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: smtp.nebula.fi Received: from smtp-69.nebula.fi (HELO smtp.nebula.fi) (83.145.220.69) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 22 May 2014 07:10:42 +0000 Received: from chokladfabriken.org (nblzone-224-141.nblnetworks.fi [83.145.224.141]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.nebula.fi (Postfix) with ESMTPS id B8FEFD0182C; Thu, 22 May 2014 10:10:38 +0300 (EEST) Date: Thu, 22 May 2014 07:10:00 -0000 From: Stefan Kristiansson To: "Maciej W. Rozycki" Cc: cgen@sourceware.org, Alan Modra , fche@sourceware.org, Christian Svensson , Pierre Muller Subject: Re: [PATCH] Make large enum constants unsigned Message-ID: <20140522071001.GA30918@chokladfabriken.org> References: <20140522052921.GA30609@chokladfabriken.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2014-q2/txt/msg00008.txt.bz2 On Thu, May 22, 2014 at 09:52:50AM +0300, Stefan Kristiansson wrote: > > As for 'u' vs 'U', a 'U' is emitted in the .h file even if I put a 'u' > in the .scm. > If 'u' in the output is preferred, maybe someone can point out the > reason for this? > I found the reason, there's a 'string-upcase' a couple of rows above what the patch touches. I'm not sure getting around that is worth pursuing though? Anyway, below is the updated patch. 2014-05-22 Stefan Kristiansson * enum.scm (gen-enum-decl): Emit 'U' after constants larger than #x80000000 Index: cgen/enum.scm =================================================================== RCS file: /cvs/src/src/cgen/enum.scm,v retrieving revision 1.13 diff -u -r1.13 enum.scm --- cgen/enum.scm 13 Feb 2010 03:39:15 -0000 1.13 +++ cgen/enum.scm 22 May 2014 07:09:00 -0000 @@ -298,7 +298,10 @@ "" (string-append " = " (if (number? (cadr e)) - (number->string (cadr e)) + (string-append (number->string (cadr e)) + (if (> (cadr e) + #x80000000) + "U" "")) (cadr e)))) )) (if (and san? include-sanitize-marker?)