http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45923
--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> 2010-10-08 18:37:52 UTC --- (In reply to comment #2) > > It is not valid for real() to be constexpr in a non-literal class > > This is a helpful diagnostic. The existing one is not. constexpr-basic.cc:9:20: error: enclosing class of ‘constexpr double complex::real() const’ is not a literal type isn't clear enough? How about "non-static member function %D declared 'constexpr' in non-literal type" ?