From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19699 invoked by alias); 8 May 2002 17:16:07 -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 19561 invoked by uid 71); 8 May 2002 17:16:02 -0000 Resent-Date: 8 May 2002 17:16:02 -0000 Resent-Message-ID: <20020508171602.19560.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, wheisler@inflow.com Received:(qmail 18062 invoked by uid 61); 8 May 2002 17:13:03 -0000 Message-Id:<20020508171303.18061.qmail@sources.redhat.com> Date: Wed, 08 May 2002 10:16:00 -0000 From: wheisler@inflow.com Reply-To: wheisler@inflow.com To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c/6607: Inconsisitency using right shift operator (signed vs. unsigned shift) X-SW-Source: 2002-05/txt/msg00234.txt.bz2 List-Id: >Number: 6607 >Category: c >Synopsis: Inconsisitency using right shift operator (signed vs. unsigned shift) >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed May 08 10:16:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Bill Heisler >Release: gcc 2.96 20000731 >Organization: >Environment: RH 7.1 Intel Glibc 2.2.3-16 gcc 2.96 >Description: When using a right shift operator that can be calculated at compile time, the operator performs an unsigned shift (prepends zeros). If the shift is parameterized, and is calculated at run time, a signed shift is performed (prepends high order bit). >How-To-Repeat: #include int main (int argc, char ** argv) { unsigned int i = 0xffffffff >> 32; unsigned int j = 0xffffffff; j = j >> 32; printf("i -- %x\nj -- %x\n", i, j); } >Fix: >Release-Note: >Audit-Trail: >Unformatted: