https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89571
Paolo Carlini <paolo.carlini at oracle dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |paolo.carlini at oracle dot com --- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> --- A few notes - I'm not sure I will actually be able to work on this, maybe somebody like Marek wants to beat me to it. If in build_over_call we unconditionally return error_mark_node when mark_used returns false we avoid the ICE. Then, however, we have duplicate diagnostics, because we already emitted the second error while trying to parse a class member access, but when cp_parser_postfix_expression returns error_mark_node in cp_parser_decltype_expr we don't set id_expression_or_member_access_p and try a full expression too.