From 989681a0e927e10e01e08e2dd6e038a7bc62917d Mon Sep 17 00:00:00 2001
From: Erik Verbruggen <erik.verbruggen@nokia.com>
Date: Mon, 22 Mar 2010 18:28:04 +0100
Subject: [PATCH] Added attribute parsing for elaborate-type-specifiers.

---
 src/shared/cplusplus/Parser.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/shared/cplusplus/Parser.cpp b/src/shared/cplusplus/Parser.cpp
index b684b799fa8..fbc1e38bbff 100644
--- a/src/shared/cplusplus/Parser.cpp
+++ b/src/shared/cplusplus/Parser.cpp
@@ -2125,10 +2125,18 @@ bool Parser::parseElaboratedTypeSpecifier(SpecifierListAST *&node)
     DEBUG_THIS_RULE();
     if (lookAtClassKey() || LA() == T_ENUM || LA() == T_TYPENAME) {
         unsigned classkey_token = consumeToken();
+
+        SpecifierListAST *attributes = 0, **attr_ptr = &attributes;
+        while (LA() == T___ATTRIBUTE__) {
+            parseAttributeSpecifier(*attr_ptr);
+            attr_ptr = &(*attr_ptr)->next;
+        }
+
         NameAST *name = 0;
         if (parseName(name)) {
             ElaboratedTypeSpecifierAST *ast = new (_pool) ElaboratedTypeSpecifierAST;
             ast->classkey_token = classkey_token;
+            ast->attribute_list = attributes;
             ast->name = name;
             node = new (_pool) SpecifierListAST(ast);
             return true;
-- 
GitLab