From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1125 invoked by alias); 2 Jan 2003 21:21:55 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 1112 invoked from network); 2 Jan 2003 21:21:51 -0000 Received: from unknown (HELO sj-msg-core-2.cisco.com) (171.70.145.30) by 209.249.29.67 with SMTP; 2 Jan 2003 21:21:51 -0000 Received: from toque.cisco.com (IDENT:mirapoint@toque.cisco.com [161.44.201.11]) by sj-msg-core-2.cisco.com (8.12.2/8.12.2) with ESMTP id h02LLifm002299 for ; Thu, 2 Jan 2003 13:21:44 -0800 (PST) Received: from songtao-w2k01.cisco.com (dhcp-kta1-161-44-193-165.cisco.com [161.44.193.165]) by toque.cisco.com (Mirapoint) with ESMTP id ADM03454; Thu, 2 Jan 2003 16:13:08 -0500 (EST) Message-Id: <4.3.2.7.2.20030102162123.020738d8@toque.cisco.com> X-Sender: songtao@toque.cisco.com Date: Thu, 02 Jan 2003 21:21:00 -0000 To: gcc-bugs@gcc.gnu.org From: Songtao Chen Subject: Is this a bug? Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed X-SW-Source: 2003-01/txt/msg00160.txt.bz2 List-Id: Hi there, It appears to be a bug to me. * gcc version: gcc.c2.95.3 * source code: bug.c #include int main(void) { int r, i; i = 0; r = ++i % 2; printf("test 1 : r = %d, i = %d\n", r, i); i = 0; r = i++ % 2; printf("test 2 : r = %d, i = %d\n", r, i); i = 0; r = (++i) % 2; printf("test 3 : r = %d, i = %d\n", r, i); i = 0; r = (i++) % 2; printf("test 4 : r = %d, i = %d\n", r, i); i = 0; r = (i+1) % 2; printf("test 5 : r = %d, i = %d\n", r, i); return 0; } * compile command: gcc.c2.95.3 bug.c * type of machine: SunOS ott-view1 5.6 Generic_105181-28 sun4u sparc SUNW,Ultra-Enterprise ... * output : test 1 : r = 1, i = 1 test 2 : r = 0, i = 1 test 3 : r = 1, i = 1 test 4 : r = 0, i = 1 test 5 : r = 1, i = 0 Expecting r = 1 in test 4, because use of brackets. Thanks, Songtao