http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57557
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- Doh, sorry, I completely misread the test! It's still undefined behaviour though, obj is uninitialized and you're missing a return from A::foo