aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2014-07-15 12:37:19 +0200
committerNikolai Kosjar <nikolai.kosjar@digia.com>2014-07-22 16:43:51 +0200
commit45b1169d063321c72002dd732e920b87c219e0af (patch)
treea94302fdcc1554f63c346821a3bdb4bd57e603e2 /src/libs/3rdparty/cplusplus/ASTMatcher.cpp
parentd2db54b451bda4553ec171eb5802131a3a694f59 (diff)
C++: Support alignas in C++11 mode.
Change-Id: Ifa81a481bf92b5b71495a105ae292f3e9895f704 Task-number: QTCREATORBUG-9279 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/libs/3rdparty/cplusplus/ASTMatcher.cpp')
-rw-r--r--src/libs/3rdparty/cplusplus/ASTMatcher.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/libs/3rdparty/cplusplus/ASTMatcher.cpp b/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
index 415adbcf3d..055b55a32d 100644
--- a/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
+++ b/src/libs/3rdparty/cplusplus/ASTMatcher.cpp
@@ -73,7 +73,28 @@ bool ASTMatcher::match(SimpleSpecifierAST *node, SimpleSpecifierAST *pattern)
return true;
}
-bool ASTMatcher::match(AttributeSpecifierAST *node, AttributeSpecifierAST *pattern)
+bool ASTMatcher::match(AlignmentSpecifierAST *node, AlignmentSpecifierAST *pattern)
+{
+ (void) node;
+ (void) pattern;
+
+ pattern->align_token = node->align_token;
+
+ pattern->lparen_token = node->lparen_token;
+
+ if (! pattern->typeIdExprOrAlignmentExpr)
+ pattern->typeIdExprOrAlignmentExpr = node->typeIdExprOrAlignmentExpr;
+ else if (! AST::match(node->typeIdExprOrAlignmentExpr, pattern->typeIdExprOrAlignmentExpr, this))
+ return false;
+
+ pattern->ellipses_token = node->ellipses_token;
+
+ pattern->rparen_token = node->rparen_token;
+
+ return true;
+}
+
+bool ASTMatcher::match(GnuAttributeSpecifierAST *node, GnuAttributeSpecifierAST *pattern)
{
(void) node;
(void) pattern;
@@ -96,7 +117,7 @@ bool ASTMatcher::match(AttributeSpecifierAST *node, AttributeSpecifierAST *patte
return true;
}
-bool ASTMatcher::match(AttributeAST *node, AttributeAST *pattern)
+bool ASTMatcher::match(GnuAttributeAST *node, GnuAttributeAST *pattern)
{
(void) node;
(void) pattern;