https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119327
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Trying to reduce it. But yes I can reproduce it on the trunk and -O2 works but -Os does not. This might be due to the code savings with the C++ front-end and constructors. Or it could be something else.