G++ emits wrong code for following fragment:
char * p = name; while (*p) *p++ = (char)tolower (*p);
when invoked like this:
gcc -Os moo.cpp
gcc version 3.1
Linux 2.4.16 i686 unknown
Get http://algol.prosalg.no/~malc/okasankaar-pl1.zip and observe (make CC=g++ is needed for 3.1)
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 ***