http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44160
--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-05-10 10:54:31 UTC --- More debugging: fname_decl, called by finish_fname, returns error_mark_node, whereas it doesn't for, eg, 'const char* f() { return __func__; }'. Note the argument to finish_fname is completely similar in the two cases.