In cp_parser_late_parsing_for_contract we have to setup the context for late parsing of contract conditions. For functions that have several pre or post contracts, this context is the shared between contracts but the current impl has to re-setup the context for each individually. Is there a better way?
/* FIXME we can do this a lot more efficiently? Once per function for all of
* its pre contracts, and then once per post contract? Is there an
* appreciable difference? Or a way to simply rename the post ret val parm? */
begin_contract_scope (contract_fn);
Upstream suggests looking into/sharing the context handling with the parsing of noexcept.