From 1336502f588b3bbcfa33fd57b449174eee9711e9 Mon Sep 17 00:00:00 2001 From: Francois Ferrand Date: Thu, 26 Feb 2015 16:06:10 +0100 Subject: C++: fix parsing nested C99 designated initializers. Change-Id: Iaa0e7550abf6be77601b1852652bb3d0731d0323 Reviewed-by: Nikolai Kosjar --- src/libs/3rdparty/cplusplus/Parser.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/libs/3rdparty/cplusplus/Parser.cpp') diff --git a/src/libs/3rdparty/cplusplus/Parser.cpp b/src/libs/3rdparty/cplusplus/Parser.cpp index 19bcd358b57..4f44d614658 100644 --- a/src/libs/3rdparty/cplusplus/Parser.cpp +++ b/src/libs/3rdparty/cplusplus/Parser.cpp @@ -5696,7 +5696,13 @@ bool Parser::parseDesignatedInitializer(ExpressionAST *&node) if (LA() == T_EQUAL) { ast->equal_token = consumeToken(); - if (parseAssignmentExpression(ast->initializer)) { + + if (LA() == T_LBRACE) { + if (parseBracedInitList0x(node)) { + node = ast; + return true; + } + } else if (parseAssignmentExpression(ast->initializer)) { node = ast; return true; } -- cgit v1.2.3