This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: java/8204: gcj -O2 to native reorders certain instructions improperly.


>>>>> ">" == bangerth  <bangerth at dealii dot org> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]