diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index 4a7dbd62f00489e656fff650d26d9a8693444e51..4e2b7cde60a2f86738b550d17c3fd52f7fced524 100644 --- a/src/shared/cplusplus/Parser.cpp +++ b/src/shared/cplusplus/Parser.cpp @@ -2900,7 +2900,6 @@ bool Parser::maybeAmbiguousStatement(DeclarationStatementAST *ast, StatementAST return maybeAmbiguous; } -#if 1 bool Parser::parseExpressionOrDeclarationStatement(StatementAST *&node) { DEBUG_THIS_RULE(); @@ -2976,38 +2975,6 @@ bool Parser::parseExpressionOrDeclarationStatement(StatementAST *&node) rewind(start); return parseExpressionStatement(node); } -#else -bool Parser::parseExpressionOrDeclarationStatement(StatementAST *&node) -{ - DEBUG_THIS_RULE(); - if (LA() == T_SEMICOLON) - return parseExpressionStatement(node); - - const unsigned start = cursor(); - const bool startsWithName = LA() == T_COLON_COLON || LA() == T_IDENTIFIER; - - - if (! parseDeclarationStatement(node)) { - rewind(start); - return parseExpressionStatement(node); - } - - if (startsWithName) { - if (DeclarationStatementAST *as_declaration = node->asDeclarationStatement()) { - StatementAST *as_expression = 0; - if (maybeAmbiguousStatement(as_declaration, as_expression)) { - // it's an ambiguous expression-or-declaration statement. - ExpressionOrDeclarationStatementAST *ast = new (_pool) ExpressionOrDeclarationStatementAST; - ast->declaration = as_declaration; - ast->expression = as_expression; - node = ast; - } - } - } - - return true; -} -#endif bool Parser::parseCondition(ExpressionAST *&node) {