From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27999 invoked by alias); 2 Sep 2005 06:17:23 -0000 Mailing-List: contact glibc-bugs-regex-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-regex-owner@sources.redhat.com Received: (qmail 27947 invoked by alias); 2 Sep 2005 06:17:15 -0000 Date: Fri, 02 Sep 2005 06:17:00 -0000 Message-ID: <20050902061715.27945.qmail@sourceware.org> From: "paolo dot bonzini at lu dot unisi dot ch" To: glibc-bugs-regex@sources.redhat.com In-Reply-To: <20050831193645.1278.eggert@gnu.org> References: <20050831193645.1278.eggert@gnu.org> Reply-To: sourceware-bugzilla@sources.redhat.com Subject: [Bug regex/1278] regex undefined behavior with shifting past word length X-Bugzilla-Reason: CC X-SW-Source: 2005-09/txt/msg00016.txt.bz2 List-Id: ------- Additional Comments From paolo dot bonzini at lu dot unisi dot ch 2005-09-02 06:17 ------- Subject: Re: regex undefined behavior with shifting past word length >For example, on a one's complement host, ~0 has the numeric value >zero, i.e., ~0 == 0. Also, ~0 is of type int. When ~0 is converted >to unsigned int, it is converted by value, not by bit-pattern. (The C >Standard requires this.) Hence ((unsigned) ~0) is equivalent to >((unsigned) 0), which in turn is equivalent to 0u, which is zero. > > So you want ~0u, but not -1. Paolo -- http://sources.redhat.com/bugzilla/show_bug.cgi?id=1278 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.