From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8012 invoked by alias); 25 Mar 2003 22:46:01 -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 7981 invoked by uid 71); 25 Mar 2003 22:46:00 -0000 Date: Tue, 25 Mar 2003 22:46:00 -0000 Message-ID: <20030325224600.7980.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Tom Tromey Subject: Re: java/8204: gcj -O2 to native reorders certain instructions improperly. Reply-To: Tom Tromey X-SW-Source: 2003-03/txt/msg01742.txt.bz2 List-Id: The following reply was made to PR java/8204; it has been noted by GNATS. From: Tom Tromey To: bangerth@dealii.org Cc: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, java-prs@gcc.gnu.org, nobody@gcc.gnu.org, rsdio@metastatic.org, gcc-gnats@gcc.gnu.org Subject: Re: java/8204: gcj -O2 to native reorders certain instructions improperly. Date: 25 Mar 2003 15:36:42 -0700 >>>>> ">" == bangerth writes: >> (f(s.charAt(i++)) << 4) | (f(s.charAt(i++)))) >> I don't know enough about Java, but in C/C++ this will invoke >> undefined behavior, since the standard doesn't prescribe >> which of the two function calls happen first, and with >> which value of i. Is this different in Java, i.e. does >> the Java standard give guarantees as to the order in which >> the sub-statements are executed? Yes, Java specifies left-to-right evaluation in this situation. Chances are that this bug is fixed, but I haven't tried it. Tom