From d6ff3d49df1fbe2731e4ba2076f4faa63ded9b11 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 19 Oct 2016 10:56:35 +0200 Subject: Plugin::isInUnoIncludeFile should not cover WORKDIR ...that got in, for no apparent reason, when various, slightly different implementations of isInUnoIncludeFile got consolidated into one. Change-Id: I64a9eb62703d57a0b7b57720ec9f251ffa780691 --- compilerplugins/clang/plugin.cxx | 3 +-- compilerplugins/clang/unreffun.cxx | 8 ++++++++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'compilerplugins') diff --git a/compilerplugins/clang/plugin.cxx b/compilerplugins/clang/plugin.cxx index dc48101f6e13..143897b499d5 100644 --- a/compilerplugins/clang/plugin.cxx +++ b/compilerplugins/clang/plugin.cxx @@ -166,8 +166,7 @@ bool Plugin::isInUnoIncludeFile(SourceLocation spellingLocation) const { || name.startswith(SRCDIR "/include/salhelper/") || name.startswith(SRCDIR "/include/systools/") || name.startswith(SRCDIR "/include/typelib/") - || name.startswith(SRCDIR "/include/uno/") - || name.startswith(WORKDIR "/")); + || name.startswith(SRCDIR "/include/uno/")); } bool Plugin::isInUnoIncludeFile(const FunctionDecl* functionDecl) const { diff --git a/compilerplugins/clang/unreffun.cxx b/compilerplugins/clang/unreffun.cxx index 0284d36ef87c..1dac4d7b276b 100644 --- a/compilerplugins/clang/unreffun.cxx +++ b/compilerplugins/clang/unreffun.cxx @@ -133,6 +133,14 @@ bool UnrefFun::VisitFunctionDecl(FunctionDecl const * decl) { { return true; } + auto loc = decl->getLocation(); + if (compiler.getSourceManager().isMacroBodyExpansion(loc) + && (Lexer::getImmediateMacroName( + loc, compiler.getSourceManager(), compiler.getLangOpts()) + == "MDDS_MTV_DEFINE_ELEMENT_CALLBACKS")) + { + return true; + } report( DiagnosticsEngine::Warning, (canon->isDefined() -- cgit