From mboxrd@z Thu Jan 1 00:00:00 1970 From: arminu@yahoo.com To: gcc-gnats@gcc.gnu.org Cc: ebudulea@softwin.ro, vpanek@softwin.ro Subject: c/3324: wrong operator priority Date: Thu, 21 Jun 2001 04:36:00 -0000 Message-id: <20010621112829.12449.qmail@sourceware.cygnus.com> X-SW-Source: 2001-06/msg00890.html List-Id: >Number: 3324 >Category: c >Synopsis: wrong operator priority >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Thu Jun 21 04:36:01 PDT 2001 >Closed-Date: >Last-Modified: >Originator: arminu@yahoo.com >Release: 2.95-2, 2.95-3, 2.96, 3.0.1 20010620 >Organization: >Environment: mingw port (2.95-2, 2.95-3), RedHat Linux 7.1 gcc compiler (2.96-??), CodeSourcery online test compilation(3.0.1 20010620 ) >Description: the prefix increment operator is not correctly evaluated in the following code: int a[8]; int i = 4; a[i] = ++i; the last line is evaluated as a[4] = 5; instead of a[5] = 5; >How-To-Repeat: void test(void) { int a[8] = {0,0,0,0,0,0,0,0}; int i = 4; a[i] = ++i; printf("\na[4] = %d\na[5] = %d\n", a[4], a[5]); } >Fix: >Release-Note: >Audit-Trail: >Unformatted: