diff --git a/shared/cplusplus/Parser.cpp b/shared/cplusplus/Parser.cpp index 02c2fedd055937d8fd3b02bfe251e67189bc097d..99faf4e36a0380de8997866c610886a8ec6ecc9d 100644 --- a/shared/cplusplus/Parser.cpp +++ b/shared/cplusplus/Parser.cpp @@ -3328,6 +3328,21 @@ bool Parser::parseObjCPropertyDynamic(DeclarationAST *&node) bool Parser::parseObjCIdentifierList(IdentifierListAST *&node) { + if (LA() == T_IDENTIFIER) { + IdentifierListAST **it = &node; + IdentifierListAST *id = new (_pool) IdentifierListAST; + id->identifier_token = consumeToken(); + *it = id; + while (LA() == T_COMMA) { + consumeToken(); + if (LA() == T_IDENTIFIER) { + it = &(*it)->next; + IdentifierListAST *id = new (_pool) IdentifierListAST; + id->identifier_token = consumeToken(); + *it = id; + } + } + } return false; }