The attached C++ program triggers an assertion violation when compiled with -O2 (it should not). The assertion is not triggered when adding -fno-strict-aliasing, or when removing -O2. It is also working when slight changes to the program are made (see comments in the source). It is the smallest version of the program which allowed me to reproduce the bug, but I did not try to look into the <vector> header. It might be an aliasing bug in <vector>, I don't know. Note that g++ 3.4 works fine.
*** This bug has been marked as a duplicate of 19786 ***