https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118629
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- The error_mark_node comes from pushdecl_outermost_localscope with x=<var_decl 0x7fffe9bcf1c8 __FUNCTION__>: /* Find the scope just inside the function parms. */ for (cp_binding_level *n = current_binding_level; n->kind != sk_function_parms; n = b->level_chain) b = n; return b ? do_pushdecl_with_scope (x, b) : error_mark_node;