[Libreoffice-commits] core.git: compilerplugins/clang
Noel Grandin
noel at peralex.com
Wed May 18 14:40:19 UTC 2016
compilerplugins/clang/unusedmethods.cxx | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
New commits:
commit d59125638bf4c58507d4311f614abc429c7b3b8d
Author: Noel Grandin <noel at peralex.com>
Date: Wed May 18 16:37:36 2016 +0200
update unusedmethods plugin to ignore externC and copy constructors
Change-Id: Idf7a9403d313ba6a0e031c59601e20c880b6118b
diff --git a/compilerplugins/clang/unusedmethods.cxx b/compilerplugins/clang/unusedmethods.cxx
index fe5825f..aa645fb 100644
--- a/compilerplugins/clang/unusedmethods.cxx
+++ b/compilerplugins/clang/unusedmethods.cxx
@@ -212,7 +212,9 @@ void UnusedMethods::logCallToRootMethods(const FunctionDecl* functionDecl, std::
{
while (functionDecl->getTemplateInstantiationPattern())
functionDecl = functionDecl->getTemplateInstantiationPattern();
- funcSet.insert(niceName(functionDecl));
+ if (functionDecl->getLocation().isValid() && !ignoreLocation( functionDecl )
+ && !functionDecl->isExternC())
+ funcSet.insert(niceName(functionDecl));
}
}
@@ -348,8 +350,12 @@ bool UnusedMethods::VisitFunctionDecl( const FunctionDecl* functionDecl )
if (functionDecl->isDeleted() || functionDecl->isDefaulted()) {
return true;
}
+ if (isa<CXXConstructorDecl>(functionDecl) && dyn_cast<CXXConstructorDecl>(functionDecl)->isCopyConstructor()) {
+ return true;
+ }
- if( functionDecl->getLocation().isValid() && !ignoreLocation( functionDecl ))
+ if( functionDecl->getLocation().isValid() && !ignoreLocation( functionDecl )
+ && !functionDecl->isExternC())
{
MyFuncInfo funcInfo = niceName(functionDecl);
definitionSet.insert(funcInfo);
More information about the Libreoffice-commits
mailing list