aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/cplusplus/Bind.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2014-08-05 14:24:23 +0200
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2014-08-05 14:24:23 +0200
commitf3a61e8bf7f5b8275c000a0cac70b561422d2230 (patch)
tree0cf0631a5b53fdab930f8a7936aff9c9c1c0952f /src/libs/3rdparty/cplusplus/Bind.cpp
parent59b34b6b539c78384ea3fc4fd018fe063b4ede53 (diff)
parentb2ac3fd90ccfc21cf4c5bce353d8e08208961eeb (diff)
Merge remote-tracking branch 'origin/3.2'
Conflicts: qtcreator.pri qtcreator.qbs src/plugins/android/androidglobal.h Change-Id: I3367bf2ea47c088989175dddeed2210294346f4c
Diffstat (limited to 'src/libs/3rdparty/cplusplus/Bind.cpp')
-rw-r--r--src/libs/3rdparty/cplusplus/Bind.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/libs/3rdparty/cplusplus/Bind.cpp b/src/libs/3rdparty/cplusplus/Bind.cpp
index 499b44f29f..8665bfc8cf 100644
--- a/src/libs/3rdparty/cplusplus/Bind.cpp
+++ b/src/libs/3rdparty/cplusplus/Bind.cpp
@@ -303,14 +303,14 @@ const Name *Bind::objCSelectorArgument(ObjCSelectorArgumentAST *ast, bool *hasAr
return identifier(ast->name_token);
}
-bool Bind::visit(AttributeAST *ast)
+bool Bind::visit(GnuAttributeAST *ast)
{
(void) ast;
CPP_CHECK(!"unreachable");
return false;
}
-void Bind::attribute(AttributeAST *ast)
+void Bind::attribute(GnuAttributeAST *ast)
{
if (! ast)
return;
@@ -2567,6 +2567,8 @@ bool Bind::visit(ObjCMethodDeclarationAST *ast)
this->statement(ast->function_body);
(void) switchScope(previousScope);
_scope->addMember(method);
+ } else if (method) {
+ _scope->addMember(method);
}
return false;
@@ -2902,12 +2904,20 @@ bool Bind::visit(SimpleSpecifierAST *ast)
return false;
}
-bool Bind::visit(AttributeSpecifierAST *ast)
+bool Bind::visit(AlignmentSpecifierAST *ast)
+{
+ // Prevent visiting the type-id or alignment expression from changing the currently
+ // calculated type:
+ expression(ast->typeIdExprOrAlignmentExpr);
+ return false;
+}
+
+bool Bind::visit(GnuAttributeSpecifierAST *ast)
{
// unsigned attribute_token = ast->attribute_token;
// unsigned first_lparen_token = ast->first_lparen_token;
// unsigned second_lparen_token = ast->second_lparen_token;
- for (AttributeListAST *it = ast->attribute_list; it; it = it->next) {
+ for (GnuAttributeListAST *it = ast->attribute_list; it; it = it->next) {
this->attribute(it->value);
}
// unsigned first_rparen_token = ast->first_rparen_token;