From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23532 invoked by alias); 26 Mar 2003 22:56:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 23516 invoked by uid 71); 26 Mar 2003 22:56:01 -0000 Date: Wed, 26 Mar 2003 23:06:00 -0000 Message-ID: <20030326225601.23515.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Falk Hueffner Subject: Re: c/10226: unsigned short promotion with bitwise inversion Reply-To: Falk Hueffner X-SW-Source: 2003-03/txt/msg01855.txt.bz2 List-Id: The following reply was made to PR c/10226; it has been noted by GNATS. From: Falk Hueffner To: Glen Nakamura Cc: Michael Marks , gcc-gnats@gcc.gnu.org Subject: Re: c/10226: unsigned short promotion with bitwise inversion Date: 26 Mar 2003 23:53:41 +0100 Glen Nakamura writes: > On Wed, Mar 26, 2003 at 11:19:58PM +0100, Falk Hueffner wrote: > > Glen Nakamura writes: > > > How about one of these: > > > warning: comparison of promoted ~unsigned with unsigned is always false > > > warning: comparison of ~(promoted unsigned) with unsigned is always false > > > > Yes, that makes it even clearer. I'd prefer the second variant. (BTW, > > funny, the optimizer doesn't seem to realize it's always false...) > > It does on my system (GCC 3.3): Well, yeah, it's simply constant folding there. What I meant is that gcc doesn't optimize int f(unsigned short a, unsigned short b) { return b == ~a; } to int f(unsigned short a, unsigned short b) { return 0; } -- Falk