G++ emits wrong code for following fragment: char * p = name; while (*p) *p++ = (char)tolower (*p); when invoked like this: gcc -Os moo.cpp Release: gcc version 3.1 Environment: Linux 2.4.16 i686 unknown How-To-Repeat: Get http://algol.prosalg.no/~malc/okasankaar-pl1.zip and observe (make CC=g++ is needed for 3.1)
State-Changed-From-To: open->closed State-Changed-Why: Not a bug. The C++ standard doesn't guarantee the order of evaluation in the assignment-with-side-effects expression.
Reopening to ...
Mark as a dup of bug 11751. *** This bug has been marked as a duplicate of 11751 ***