diff options
author | Olivier Goffart <ogoffart@kde.org> | 2011-10-29 19:55:36 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-29 21:18:45 +0200 |
commit | 4fe3cf8ee991e6adf3756019ff9d326769f0acf0 (patch) | |
tree | 3f999612437e7430f3c66c6547ee58d770d56bdf /src/tools/moc/moc.cpp | |
parent | d94c61a941894c6ff28e2e7ad7b1446a8f1f52a1 (diff) |
moc: support c++11 style enums
Task-number: QTBUG-21480
Change-Id: Ic116a5a06dd68036823f27146e49511c68cf2de6
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
Diffstat (limited to 'src/tools/moc/moc.cpp')
-rw-r--r-- | src/tools/moc/moc.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp index 6374a726ac..8999148108 100644 --- a/src/tools/moc/moc.cpp +++ b/src/tools/moc/moc.cpp @@ -251,6 +251,9 @@ bool Moc::parseEnum(EnumDef *def) { bool isTypdefEnum = false; // typedef enum { ... } Foo; + if (test(CLASS)) + def->isEnumClass = true; + if (test(IDENTIFIER)) { def->name = lexem(); } else { @@ -258,6 +261,10 @@ bool Moc::parseEnum(EnumDef *def) return false; // anonymous enum isTypdefEnum = true; } + if (test(COLON)) { // C++11 strongly typed enum + // enum Foo : unsigned long { ... }; + parseType(); //ignore the result + } if (!test(LBRACE)) return false; do { |