summaryrefslogtreecommitdiffstats
path: root/compilerplugins
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2016-10-19 10:56:35 +0200
committerStephan Bergmann <sbergman@redhat.com>2016-10-19 10:56:35 +0200
commitd6ff3d49df1fbe2731e4ba2076f4faa63ded9b11 (patch)
tree5c664bb6e8e4c7d90b2825448e764f396d71bdb8 /compilerplugins
parentAdd missing icu_headers dependency (diff)
downloadcore-d6ff3d49df1fbe2731e4ba2076f4faa63ded9b11.tar.gz
core-d6ff3d49df1fbe2731e4ba2076f4faa63ded9b11.zip
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
Diffstat (limited to 'compilerplugins')
-rw-r--r--compilerplugins/clang/plugin.cxx3
-rw-r--r--compilerplugins/clang/unreffun.cxx8
2 files changed, 9 insertions, 2 deletions
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()