From 4fe3cf8ee991e6adf3756019ff9d326769f0acf0 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Sat, 29 Oct 2011 19:55:36 +0200 Subject: moc: support c++11 style enums Task-number: QTBUG-21480 Change-Id: Ic116a5a06dd68036823f27146e49511c68cf2de6 Reviewed-by: Simon Hausmann --- src/tools/moc/moc.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/tools/moc/moc.cpp') 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 { -- cgit v1.2.3