Skip to content

Commit 65dafc5

Browse files
committed
Bitfield use const expr as bit-width
1 parent 5ef2af6 commit 65dafc5

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

cxxheaderparser/parser.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1401,8 +1401,15 @@ def _discard_ctor_initializer(self) -> None:
14011401

14021402
def _parse_bitfield(self) -> int:
14031403
# is a integral constant expression... for now, just do integers
1404-
tok = self._next_token_must_be("INT_CONST_DEC")
1405-
return int(tok.value)
1404+
const_expr = ''
1405+
while True:
1406+
tok = self.lex.token_if_not("=", ";")
1407+
if tok:
1408+
const_expr += tok.value
1409+
else:
1410+
break
1411+
1412+
return int(eval(const_expr))
14061413

14071414
def _parse_field(
14081415
self,

0 commit comments

Comments
 (0)