C++: Support alignas in C++11 mode.

Change-Id: Ifa81a481bf92b5b71495a105ae292f3e9895f704
Task-number: QTCREATORBUG-9279
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
Erik Verbruggen
2014-07-15 12:37:19 +02:00
committed by Nikolai Kosjar
parent d2db54b451
commit 45b1169d06
20 changed files with 345 additions and 120 deletions

View File

@@ -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;