summaryrefslogtreecommitdiff
path: root/src/qdoc/cppcodeparser.cpp
diff options
context:
space:
mode:
authorKarsten Heimrich <karsten.heimrich@theqtcompany.com>2016-02-08 11:21:16 +0100
committerKarsten Heimrich <karsten.heimrich@theqtcompany.com>2016-02-08 15:40:15 +0000
commitca81f8e469faba11f622af9a9ec537a7b3cec08f (patch)
tree26f1ff95d10eb47befccb4e5f2ec2c9b437e46f2 /src/qdoc/cppcodeparser.cpp
parent3f766527dbea92c380c03998e4e0f40adeeec319 (diff)
downloadqttools-ca81f8e469faba11f622af9a9ec537a7b3cec08f.tar.gz
qdoc: Implement support for C++11 scoped enumerations.
Task-number: QTBUG-41958 Change-Id: I290dc3f2f3072a1b6884d1484aa9109aa0b99dcc Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
Diffstat (limited to 'src/qdoc/cppcodeparser.cpp')
-rw-r--r--src/qdoc/cppcodeparser.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp
index 0405cc2c2..7d9838a79 100644
--- a/src/qdoc/cppcodeparser.cpp
+++ b/src/qdoc/cppcodeparser.cpp
@@ -1931,8 +1931,15 @@ bool CppCodeParser::matchEnumDecl(Aggregate *parent)
if (!match(Tok_enum))
return false;
+ if (tok == Tok_struct || tok == Tok_class)
+ readToken(); // ignore C++11 struct or class attribute
if (match(Tok_Ident))
name = previousLexeme();
+ if (match(Tok_Colon)) { // ignore C++11 enum-base
+ CodeChunk dataType;
+ if (!matchDataType(&dataType))
+ return false;
+ }
if (tok != Tok_LeftBrace)
return false;