From 528bb8054ca362843630ec261ca6e6990a206081 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sun, 3 May 2015 09:51:19 +0200 Subject: Bug 748208 - Bug #313527 regression - Enum in bitfield is not parsed properly. --- src/scanner.l | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/scanner.l b/src/scanner.l index 9529c34..b3ae01a 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -5634,7 +5634,13 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}) BEGIN( ClassVar ); } ":" { - if (current->section==Entry::ENUM_SEC) // enum E:2, see bug 313527, + if (current->section==Entry::VARIABLE_SEC) // enum A B:2, see bug 748208 + { + current->bitfields+=":"; + current->args.resize(0); + BEGIN(BitFields); + } + else if (current->section==Entry::ENUM_SEC) // enum E:2, see bug 313527, // or C++11 style enum: 'E : unsigned int {...}' { current->args.resize(0); -- cgit v0.12