summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Parser.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-03-24 13:56:34 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-03-24 13:56:34 +0100
commit4e50dfe330976c8f928fded5e6942ab4bdb918c3 (patch)
tree225c2221d84e66cf1bdaa47850271dc85c371bb2 /src/shared/cplusplus/Parser.cpp
parenta6b21aac50e8361a3f50a3685857e0d5dd8fd6dd (diff)
downloadqt-creator-4e50dfe330976c8f928fded5e6942ab4bdb918c3.tar.gz
Require a T_EQUAL when parsing conditions.
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r--src/shared/cplusplus/Parser.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index d5c55a2c35..dc9d2da509 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -2786,7 +2786,7 @@ bool Parser::parseCondition(ExpressionAST *&node)
if (parseTypeSpecifier(type_specifier)) {
DeclaratorAST *declarator = 0;
if (parseInitDeclarator(declarator, /*acceptStructDeclarator=*/false)) {
- if (declarator->initializer) {
+ if (declarator->initializer && declarator->equals_token) {
ConditionAST *ast = new (_pool) ConditionAST;
ast->type_specifier_list = type_specifier;
ast->declarator = declarator;
@@ -5658,6 +5658,7 @@ bool Parser::parseTrailingReturnType(TrailingReturnTypeAST *&node)
parseTrailingTypeSpecifierSeq(ast->type_specifiers);
parseAbstractDeclarator(ast->declarator);
+ node = ast;
return true;
}