summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Parser.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2010-03-23 13:52:24 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2010-03-23 14:13:22 +0100
commitae715143606c1c432aa6f934578c10c3eee69f76 (patch)
treec048984d7dbb6e4458d36efd1f954addd81f3313 /src/shared/cplusplus/Parser.cpp
parent8b625a867c24a9dd62a3c6c866622284eafd24c7 (diff)
downloadqt-creator-ae715143606c1c432aa6f934578c10c3eee69f76.tar.gz
Parse C++0x base-specifier-list.
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r--src/shared/cplusplus/Parser.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index 5e86a4cc02..e08fce0416 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -1667,6 +1667,7 @@ bool Parser::parseClassSpecifier(SpecifierListAST *&node)
_inFunctionBody = false;
unsigned colon_token = 0;
+ unsigned dot_dot_dot_token = 0;
if (LA() == T_COLON || LA() == T_LBRACE) {
BaseSpecifierListAST *base_clause_list = 0;
@@ -1676,6 +1677,9 @@ bool Parser::parseClassSpecifier(SpecifierListAST *&node)
parseBaseClause(base_clause_list);
+ if (_cxx0xEnabled && LA() == T_DOT_DOT_DOT)
+ dot_dot_dot_token = consumeToken();
+
if (LA() != T_LBRACE) {
_translationUnit->error(cursor(), "expected `{' before `%s'", tok().spell());
@@ -1697,6 +1701,7 @@ bool Parser::parseClassSpecifier(SpecifierListAST *&node)
ast->name = name;
ast->colon_token = colon_token;
ast->base_clause_list = base_clause_list;
+ ast->dot_dot_dot_token = dot_dot_dot_token;
if (LA() == T_LBRACE)
ast->lbrace_token = consumeToken();