http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45957
--- Comment #1 from Zdenek Sojka <zsojka at seznam dot cz> 2010-10-09 22:17:15 UTC --- The same happens for g++.dg/template/pretty1.C and g++.old-deja/g++.ext/pretty2.C - both fail with -flto/-fwhopr in r165220, but not in r165152. It seems __FUNCTION__ and __PRETTY_FUNCTION__ is broken too in constructors and destructors. g++.old-deja/g++.ext/pretty2.C actually gives nice output: $ g++ g++.old-deja/g++.ext/pretty2.C && ./a.out ctor __FUNCTION__ X __PRETTY_FUNCTION__ X::X() member fn __FUNCTION__ fn __PRETTY_FUNCTION__ void X::fn() conversion __FUNCTION__ operator int __PRETTY_FUNCTION__ X::operator int() dtor __FUNCTION__ ~X __PRETTY_FUNCTION__ X::~X() $ g++ g++.old-deja/g++.ext/pretty2.C -flto && ./a.out ctor __FUNCTION__ __PRETTY_FUNCTION__ member fn __FUNCTION__ fn __PRETTY_FUNCTION__ void X::fn() conversion __FUNCTION__ operator int __PRETTY_FUNCTION__ X::operator int() dtor __FUNCTION__ __PRETTY_FUNCTION__