They get their own late parse.
gcc/cp/ChangeLog:
* parser.cc (cp_parser_member_declaration): Don't add
fn with contracts to unparsed_funs_with_definitions.
initializer, /*init_const_expr_p=*/true,
asm_specification, attributes);
- /* If we've declared a member function with contracts, ensure we
- do late parsing for the contracts even if we have no function
- body to parse at that time. */
- if (DECL_DECLARES_FUNCTION_P (decl) && DECL_CONTRACTS (decl))
- vec_safe_push (unparsed_funs_with_definitions, decl);
-
if (parser->fully_implicit_function_template_p)
{
if (friend_p)
/* TRUE if the decl-specifier-seq preceding a declarator includes
the 'friend' specifier. This prevents attributes on friend function
declarations from being parsed in the complete class context. */
+ /* ??? Maybe use defer_guarded_contract_match instead? */
bool declaring_friend_p;
/* TRUE if we are presently parsing a template-argument-list. */