http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55559
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Status|UNCONFIRMED |NEW Last reconfirmed| |2012-12-02 Component|c++ |tree-optimization Ever Confirmed|0 |1 Known to fail| |4.7.0, 4.8.0 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-12-02 00:09:30 UTC --- CCP is broken: Visiting statement: D.1625_1 = D.1625_8; Lattice value changed to CONSTANT -4616189618054758400. Adding SSA edges to worklist. Visiting statement: D.1631_7 = VIEW_CONVERT_EXPR<double>(D.1625_1); which is likely CONSTANT Lattice value changed to CONSTANT -1.0e+0. Adding SSA edges to worklist. Visiting statement: D.1631_9 = D.1631_7; Lattice value changed to CONSTANT -1.0e+0. Adding SSA edges to worklist. Visiting statement: D.1631_2 = D.1631_9; Lattice value changed to CONSTANT -1.0e+0. Adding SSA edges to worklist. Visiting statement: D.1610_3 = (unsigned int) D.1631_2; which is likely CONSTANT Lattice value changed to CONSTANT 0. Adding SSA edges to worklist. I think this is a regression if the code does not use extended initializer lists but I have not tested it though.