From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24128 invoked by alias); 1 Nov 2004 02:48:48 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 24111 invoked from network); 1 Nov 2004 02:48:47 -0000 Received: from unknown (HELO Cantor.suse.de) (195.135.220.2) by sourceware.org with SMTP; 1 Nov 2004 02:48:47 -0000 Received: from hermes.suse.de (hermes-ext.suse.de [195.135.221.8]) (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits)) (No client certificate requested) by Cantor.suse.de (Postfix) with ESMTP id 4E8A2ECD450; Mon, 1 Nov 2004 03:45:30 +0100 (CET) To: Hilfinger@CS.Berkeley.EDU Cc: gdb-patches@sources.redhat.com Subject: Re: [RFA] Setting long long bitfields References: <200410312304.i9VN3xLF022057@tully.CS.Berkeley.EDU> From: Andreas Schwab X-Yow: Is something VIOLENT going to happen to a GARBAGE CAN? Date: Mon, 01 Nov 2004 02:48:00 -0000 In-Reply-To: <200410312304.i9VN3xLF022057@tully.CS.Berkeley.EDU> (Paul Hilfinger's message of "Sun, 31 Oct 2004 15:03:59 -0800") Message-ID: User-Agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-SW-Source: 2004-11/txt/msg00004.txt.bz2 Paul Hilfinger writes: > > > One possible tweak, several of us have an aversion to "?:", it would be > > > nice if it wasn't there :-) > > > > Like this perhaps: > > > > + ULONGEST mask = (ULONGEST) -1 >> (8 * sizeof (ULONGEST) - bitsize); > > Andreas, > > I had considered exactly that line, but unfortunately ran across the > following really irritating provision in the C standard: > > "If the value of the right operand is negative or is > *greater than or equal to* the width of the promoted left > operand, the behavior is undefined." That cannot happen, because bitsize will never be zero. Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."