https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71182
--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
760 static inline cp_token *
761 cp_lexer_previous_token (cp_lexer *lexer)
762 {
763 cp_token_position tp = cp_lexer_previous_token_position (lexer);
764
765 /* Skip past purged tokens. */
766 while (tp->purged_p)
767 {
768 gcc_assert (tp != lexer->buffer->address ());
769 tp--;
770 }
771
772 return cp_lexer_token_at (lexer, tp);
773 }
