diff options
Diffstat (limited to 'src/shared/cplusplus/Parser.cpp')
-rw-r--r-- | src/shared/cplusplus/Parser.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp index ad20ef7af4..fecaa7b394 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); |