From aa5d44b2b0bc2fb8b8649f214eaa203ec4abd5e7 Mon Sep 17 00:00:00 2001 From: acqn Date: Wed, 2 Nov 2022 23:58:20 +0800 Subject: [PATCH] Fixed endlessly repeated error messages when a declaration lacks a required identifier. --- src/cc65/declare.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/cc65/declare.c b/src/cc65/declare.c index 2117b0498..5c55bfb5b 100644 --- a/src/cc65/declare.c +++ b/src/cc65/declare.c @@ -1831,7 +1831,13 @@ static void Declarator (const DeclSpec* Spec, Declaration* D, declmode_t Mode) NextToken (); } else { if (Mode == DM_NEED_IDENT) { + /* Some fix point tokens that are used for error recovery */ + static const token_t TokenList[] = { TOK_COMMA, TOK_SEMI }; + Error ("Identifier expected"); + + /* Try some smart error recovery */ + SkipTokens (TokenList, sizeof(TokenList) / sizeof(TokenList[0])); } D->Ident[0] = '\0'; }