diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index ad20ef7af4f8c37f7f3a2f83b0628b5ab191b9ee..fecaa7b3949e7e8700d51a44be1a00aa351f992e 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -2262,7 +2262,7 @@ bool Parser::parseInitDeclarator(DeclaratorAST *&node,
 
     if (acceptStructDeclarator && LA() == T_COLON) {
         // anonymous bit-field declaration.
-        // ### TODO create the AST
+
     } else if (! parseDeclarator(node, /*stopAtCppInitializer = */ ! acceptStructDeclarator)) {
         return false;
     }
@@ -2289,7 +2289,9 @@ bool Parser::parseInitDeclarator(DeclaratorAST *&node,
         if (parseConstantExpression(expression) && (LA() == T_COMMA ||
                                                     LA() == T_SEMICOLON)) {
             // recognized a bitfielddeclarator.
-            // ### TODO create the AST
+            if (! node)
+                node = new (_pool) DeclaratorAST;
+            node->initializer = expression;
             return true;
         }
         rewind(colon_token);