diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-05-26 13:56:25 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-05-26 13:56:34 +0200 |
commit | dfadb0d076816cc107799d2cae0f31e8b738d13e (patch) | |
tree | fe89b70ba5446f7355e7a4072762dc3fbd0e6c8d /src/shared/cplusplus/CheckDeclaration.cpp | |
parent | 49c75444bdd158f3bbc06d94bc18fb6b14e8a027 (diff) | |
download | qt-creator-dfadb0d076816cc107799d2cae0f31e8b738d13e.tar.gz |
Added support for the GCC "unavailable" attribute.
Diffstat (limited to 'src/shared/cplusplus/CheckDeclaration.cpp')
-rw-r--r-- | src/shared/cplusplus/CheckDeclaration.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/shared/cplusplus/CheckDeclaration.cpp b/src/shared/cplusplus/CheckDeclaration.cpp index ec8ddfcc4c..467e28c92d 100644 --- a/src/shared/cplusplus/CheckDeclaration.cpp +++ b/src/shared/cplusplus/CheckDeclaration.cpp @@ -177,6 +177,8 @@ bool CheckDeclaration::visit(SimpleDeclarationAST *ast) if (ty.isDeprecated()) symbol->setDeprecated(true); + if (ty.isUnavailable()) + symbol->setUnavailable(true); if (ty.isFriend()) symbol->setStorage(Symbol::Friend); @@ -213,6 +215,8 @@ bool CheckDeclaration::visit(SimpleDeclarationAST *ast) fun->setVirtual(ty.isVirtual()); if (ty.isDeprecated()) fun->setDeprecated(true); + if (ty.isUnavailable()) + fun->setUnavailable(true); if (isQ_SIGNAL) fun->setMethodKey(Function::SignalMethod); else if (isQ_SLOT) @@ -232,6 +236,8 @@ bool CheckDeclaration::visit(SimpleDeclarationAST *ast) symbol->setType(declTy); if (declTy.isDeprecated()) symbol->setDeprecated(true); + if (declTy.isUnavailable()) + symbol->setUnavailable(true); if (_templateParameters && it == ast->declarator_list) { symbol->setTemplateParameters(_templateParameters); @@ -257,6 +263,8 @@ bool CheckDeclaration::visit(SimpleDeclarationAST *ast) if (ty.isDeprecated()) symbol->setDeprecated(true); + if (ty.isUnavailable()) + symbol->setUnavailable(true); if (it->value && it->value->initializer) { FullySpecifiedType initTy = semantic()->check(it->value->initializer, _scope); @@ -338,6 +346,8 @@ bool CheckDeclaration::visit(FunctionDefinitionAST *ast) fun->setVirtual(ty.isVirtual()); if (ty.isDeprecated()) fun->setDeprecated(true); + if (ty.isUnavailable()) + fun->setUnavailable(true); fun->setStartOffset(tokenAt(ast->firstToken()).offset); fun->setEndOffset(tokenAt(ast->lastToken()).offset); if (ast->declarator) @@ -727,6 +737,8 @@ bool CheckDeclaration::visit(ObjCMethodDeclarationAST *ast) symbol->setVisibility(semantic()->currentObjCVisibility()); if (ty.isDeprecated()) symbol->setDeprecated(true); + if (ty.isUnavailable()) + symbol->setUnavailable(true); _scope->enterSymbol(symbol); |