summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Parser.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-03-24 14:56:30 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-03-24 14:56:45 +0100
commitcf125618afe323da0b1d63eb01ff70fbbaaef3d0 (patch)
treebad9dc8c275d1efe5dc347cadda61a35ef99f35d /src/shared/cplusplus/Parser.cpp
parentfe1c4926dec9ac729979212b4419989d56a1af48 (diff)
downloadqt-creator-cf125618afe323da0b1d63eb01ff70fbbaaef3d0.tar.gz
Accepts trailing return types.
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r--src/shared/cplusplus/Parser.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index dc9d2da509..a3599dc14e 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -1315,8 +1315,14 @@ bool Parser::parseDeclarator(DeclaratorAST *&node, bool stopAtCppInitializer)
}
ast->rparen_token = consumeToken();
+ // ### parse attributes
parseCvQualifiers(ast->cv_qualifier_list);
+ // ### parse ref-qualifiers
parseExceptionSpecification(ast->exception_specification);
+
+ if (_cxx0xEnabled && ! node->ptr_operator_list && LA() == T_ARROW)
+ parseTrailingReturnType(ast->trailing_return_type);
+
*postfix_ptr = new (_pool) PostfixDeclaratorListAST(ast);
postfix_ptr = &(*postfix_ptr)->next;
} else if (LA() == T_LBRACKET) {