https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71182

--- Comment #6 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
So, perhaps:
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 08f5f9e52ef2..f430af97fdf1 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -765,7 +765,7 @@ cp_lexer_previous_token (cp_lexer *lexer)
   /* Skip past purged tokens.  */
   while (tp->purged_p)
     {
-      gcc_assert (tp != lexer->buffer->address ());
+      gcc_assert (!lexer->buffer || tp != lexer->buffer->address ());
       tp--;
     }

Reply via email to