[Libreoffice-commits] core.git: 2 commits - compilerplugins/clang
Stephan Bergmann
sbergman at redhat.com
Tue Mar 27 06:21:27 UTC 2018
compilerplugins/clang/blockblock.cxx | 2 +-
compilerplugins/clang/checkunusedparams.cxx | 8 ++++----
compilerplugins/clang/constantparam.cxx | 2 +-
compilerplugins/clang/convertlong.cxx | 6 +++---
compilerplugins/clang/includeform.cxx | 6 +++---
compilerplugins/clang/memoryvar.cxx | 4 ++--
compilerplugins/clang/pluginhandler.cxx | 8 ++++----
compilerplugins/clang/staticmethods.cxx | 8 ++++----
compilerplugins/clang/unnecessaryoverride.cxx | 2 +-
compilerplugins/clang/useuniqueptr.cxx | 24 ++++++++++++------------
compilerplugins/clang/vclwidgets.cxx | 8 ++++----
11 files changed, 39 insertions(+), 39 deletions(-)
New commits:
commit 449d416335802b23cf0f8f4725042f92138019cd
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Mon Mar 26 13:37:06 2018 +0200
Let prefix arguments to hasPathnamePrefix end in slash
...for better precision
Change-Id: I5f273b7c66ba931647805c415622b5ac767ff987
diff --git a/compilerplugins/clang/constantparam.cxx b/compilerplugins/clang/constantparam.cxx
index 461eb52a2e97..cb5a380bac73 100644
--- a/compilerplugins/clang/constantparam.cxx
+++ b/compilerplugins/clang/constantparam.cxx
@@ -121,7 +121,7 @@ void ConstantParam::addToCallSet(const FunctionDecl* functionDecl, int paramInde
return;
SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc( functionDecl->getLocation() );
StringRef filename = compiler.getSourceManager().getFilename(expansionLoc);
- if (!loplugin::hasPathnamePrefix(filename, SRCDIR))
+ if (!loplugin::hasPathnamePrefix(filename, SRCDIR "/"))
return;
filename = filename.substr(strlen(SRCDIR)+1);
diff --git a/compilerplugins/clang/includeform.cxx b/compilerplugins/clang/includeform.cxx
index 284b7dadccff..c26a2aea76d6 100644
--- a/compilerplugins/clang/includeform.cxx
+++ b/compilerplugins/clang/includeform.cxx
@@ -47,10 +47,10 @@ private:
bool shouldUseAngles;
if (uno) {
shouldUseAngles
- = (!(loplugin::hasPathnamePrefix(SearchPath, SRCDIR)
- || loplugin::hasPathnamePrefix(SearchPath, BUILDDIR))
+ = (!(loplugin::hasPathnamePrefix(SearchPath, SRCDIR "/")
+ || loplugin::hasPathnamePrefix(SearchPath, BUILDDIR "/"))
|| loplugin::hasPathnamePrefix(
- SearchPath, WORKDIR "/UnpackedTarball"));
+ SearchPath, WORKDIR "/UnpackedTarball/"));
} else {
auto dir1 = std::string(SearchPath);
loplugin::normalizeDotDotInFilePath(dir1);
diff --git a/compilerplugins/clang/memoryvar.cxx b/compilerplugins/clang/memoryvar.cxx
index 168cc8bf175f..17cb2701acd0 100644
--- a/compilerplugins/clang/memoryvar.cxx
+++ b/compilerplugins/clang/memoryvar.cxx
@@ -80,7 +80,7 @@ bool MemoryVar::TraverseFunctionDecl(FunctionDecl * decl)
// I'm not getting accurate results from clang right now
StringRef aFileName = getFilename(varLoc);
// TODO these files are doing some weird stuff I don't know how to ignore yet
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/vcl/source/filter")) {
+ if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/vcl/source/filter/")) {
return true;
}
if (loplugin::isSamePathname(aFileName, SRCDIR "/sw/source/core/layout/frmtool.cxx")) {
diff --git a/compilerplugins/clang/pluginhandler.cxx b/compilerplugins/clang/pluginhandler.cxx
index 3f169972f6a2..b1e789a4a8c5 100644
--- a/compilerplugins/clang/pluginhandler.cxx
+++ b/compilerplugins/clang/pluginhandler.cxx
@@ -207,7 +207,7 @@ bool PluginHandler::checkIgnoreLocation(SourceLocation loc)
// generated into the start of hash.cxx, #if'ed for __GNUC__, but
// for clang-cl it is an issue)
return true;
- if( hasPathnamePrefix(bufferName, WORKDIR) )
+ if( hasPathnamePrefix(bufferName, WORKDIR "/") )
{
// workdir/CustomTarget/vcl/unx/kde4/tst_exclude_socket_notifiers.moc
// includes
@@ -219,11 +219,11 @@ bool PluginHandler::checkIgnoreLocation(SourceLocation loc)
}
std::string s(bufferName);
normalizeDotDotInFilePath(s);
- if (hasPathnamePrefix(s, WORKDIR))
+ if (hasPathnamePrefix(s, WORKDIR "/"))
return true;
}
- if( hasPathnamePrefix(bufferName, BUILDDIR)
- || hasPathnamePrefix(bufferName, SRCDIR) )
+ if( hasPathnamePrefix(bufferName, BUILDDIR "/")
+ || hasPathnamePrefix(bufferName, SRCDIR "/") )
return false; // ok
return true;
}
diff --git a/compilerplugins/clang/staticmethods.cxx b/compilerplugins/clang/staticmethods.cxx
index f4e1f068ec0e..50d432081f00 100644
--- a/compilerplugins/clang/staticmethods.cxx
+++ b/compilerplugins/clang/staticmethods.cxx
@@ -117,17 +117,17 @@ bool StaticMethods::TraverseCXXMethodDecl(const CXXMethodDecl * pCXXMethodDecl)
return true;
}
// the unotools and svl config code stuff is doing weird stuff with a reference-counted statically allocated pImpl class
- if (loplugin::hasPathnamePrefix(aFilename, SRCDIR "/include/unotools")) {
+ if (loplugin::hasPathnamePrefix(aFilename, SRCDIR "/include/unotools/")) {
return true;
}
- if (loplugin::hasPathnamePrefix(aFilename, SRCDIR "/include/svl")) {
+ if (loplugin::hasPathnamePrefix(aFilename, SRCDIR "/include/svl/")) {
return true;
}
- if (loplugin::hasPathnamePrefix(aFilename, SRCDIR "/include/framework") || loplugin::hasPathnamePrefix(aFilename, SRCDIR "/framework")) {
+ if (loplugin::hasPathnamePrefix(aFilename, SRCDIR "/include/framework/") || loplugin::hasPathnamePrefix(aFilename, SRCDIR "/framework/")) {
return true;
}
// there is some odd stuff happening here I don't fully understand, leave it for now
- if (loplugin::hasPathnamePrefix(aFilename, SRCDIR "/include/canvas") || loplugin::hasPathnamePrefix(aFilename, SRCDIR "/canvas")) {
+ if (loplugin::hasPathnamePrefix(aFilename, SRCDIR "/include/canvas/") || loplugin::hasPathnamePrefix(aFilename, SRCDIR "/canvas/")) {
return true;
}
// classes that have static data and some kind of weird reference-counting trick in its constructor
diff --git a/compilerplugins/clang/unnecessaryoverride.cxx b/compilerplugins/clang/unnecessaryoverride.cxx
index c5e483816383..338598985289 100644
--- a/compilerplugins/clang/unnecessaryoverride.cxx
+++ b/compilerplugins/clang/unnecessaryoverride.cxx
@@ -84,7 +84,7 @@ public:
return;
if (loplugin::isSamePathname(fn, SRCDIR "/svx/source/dialog/rubydialog.cxx"))
return;
- if (loplugin::hasPathnamePrefix(fn, SRCDIR "/canvas"))
+ if (loplugin::hasPathnamePrefix(fn, SRCDIR "/canvas/"))
return;
if (loplugin::isSamePathname(fn, SRCDIR "/sc/source/ui/view/spelldialog.cxx"))
return;
diff --git a/compilerplugins/clang/useuniqueptr.cxx b/compilerplugins/clang/useuniqueptr.cxx
index d8a4be063cb2..3b3e9ff49e81 100644
--- a/compilerplugins/clang/useuniqueptr.cxx
+++ b/compilerplugins/clang/useuniqueptr.cxx
@@ -167,7 +167,7 @@ void UseUniquePtr::CheckDeleteExpr(const CXXDestructorDecl* destructorDecl, cons
return;
// to ignore things like the CPPUNIT macros
StringRef aFileName = compiler.getSourceManager().getFilename(compiler.getSourceManager().getSpellingLoc(fieldDecl->getLocStart()));
- if (loplugin::hasPathnamePrefix(aFileName, WORKDIR))
+ if (loplugin::hasPathnamePrefix(aFileName, WORKDIR "/"))
return;
// passes and stores pointers to member fields
if (loplugin::isSamePathname(aFileName, SRCDIR "/sot/source/sdstor/stgdir.hxx"))
commit cbd1f3695f319c8aa4005d19e40a07c6b4dd116e
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Mon Mar 26 13:26:46 2018 +0200
Use isSamePathname instead of hasPathnamePrefix, where appropriate
Change-Id: I75f32fc66877c0fb1e71be3b5e8b6d6c1b9c4d36
diff --git a/compilerplugins/clang/blockblock.cxx b/compilerplugins/clang/blockblock.cxx
index 910a3abf3750..065e4572e0e1 100644
--- a/compilerplugins/clang/blockblock.cxx
+++ b/compilerplugins/clang/blockblock.cxx
@@ -30,7 +30,7 @@ public:
{
StringRef fn( compiler.getSourceManager().getFileEntryForID(
compiler.getSourceManager().getMainFileID())->getName() );
- if (loplugin::hasPathnamePrefix(fn, SRCDIR "/sal/osl/unx/file_misc.cxx"))
+ if (loplugin::isSamePathname(fn, SRCDIR "/sal/osl/unx/file_misc.cxx"))
return;
TraverseDecl(compiler.getASTContext().getTranslationUnitDecl());
diff --git a/compilerplugins/clang/checkunusedparams.cxx b/compilerplugins/clang/checkunusedparams.cxx
index 8dbea6bd72a2..31dae1c66e61 100644
--- a/compilerplugins/clang/checkunusedparams.cxx
+++ b/compilerplugins/clang/checkunusedparams.cxx
@@ -68,16 +68,16 @@ void CheckUnusedParams::run()
if (loplugin::hasPathnamePrefix(fn, SRCDIR "/xmloff/"))
return;
// I believe someone is busy working on this chunk of code
- if (loplugin::hasPathnamePrefix(fn, SRCDIR "/sc/source/ui/docshell/dataprovider.cxx"))
+ if (loplugin::isSamePathname(fn, SRCDIR "/sc/source/ui/docshell/dataprovider.cxx"))
return;
// I think erack is working on stuff here
- if (loplugin::hasPathnamePrefix(fn, SRCDIR "/sc/source/filter/excel/xiformula.cxx"))
+ if (loplugin::isSamePathname(fn, SRCDIR "/sc/source/filter/excel/xiformula.cxx"))
return;
// lots of callbacks here
- if (loplugin::hasPathnamePrefix(fn, SRCDIR "/sc/source/filter/lotus/op.cxx"))
+ if (loplugin::isSamePathname(fn, SRCDIR "/sc/source/filter/lotus/op.cxx"))
return;
// template magic
- if (loplugin::hasPathnamePrefix(fn, SRCDIR "/sc/source/filter/html/htmlpars.cxx"))
+ if (loplugin::isSamePathname(fn, SRCDIR "/sc/source/filter/html/htmlpars.cxx"))
return;
m_phase = PluginPhase::FindAddressOf;
diff --git a/compilerplugins/clang/convertlong.cxx b/compilerplugins/clang/convertlong.cxx
index 4d713aeecf2b..b706d7dffaa4 100644
--- a/compilerplugins/clang/convertlong.cxx
+++ b/compilerplugins/clang/convertlong.cxx
@@ -75,11 +75,11 @@ bool ConvertLong::VisitVarDecl(VarDecl const* varDecl)
if (ignoreLocation(varDecl))
return true;
StringRef fileName{ compiler.getSourceManager().getFilename(varDecl->getLocation()) };
- if (loplugin::hasPathnamePrefix(fileName, SRCDIR "/include/tools/bigint.hxx"))
+ if (loplugin::isSamePathname(fileName, SRCDIR "/include/tools/bigint.hxx"))
return true;
- if (loplugin::hasPathnamePrefix(fileName, SRCDIR "/include/tools/solar.h"))
+ if (loplugin::isSamePathname(fileName, SRCDIR "/include/tools/solar.h"))
return true;
- if (loplugin::hasPathnamePrefix(fileName, SRCDIR "/include/o3tl/string_view.hxx"))
+ if (loplugin::isSamePathname(fileName, SRCDIR "/include/o3tl/string_view.hxx"))
return true;
if (!varDecl->hasInit())
return true;
diff --git a/compilerplugins/clang/memoryvar.cxx b/compilerplugins/clang/memoryvar.cxx
index a381563d6509..168cc8bf175f 100644
--- a/compilerplugins/clang/memoryvar.cxx
+++ b/compilerplugins/clang/memoryvar.cxx
@@ -83,7 +83,7 @@ bool MemoryVar::TraverseFunctionDecl(FunctionDecl * decl)
if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/vcl/source/filter")) {
return true;
}
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/sw/source/core/layout/frmtool.cxx")) {
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/sw/source/core/layout/frmtool.cxx")) {
return true;
}
diff --git a/compilerplugins/clang/useuniqueptr.cxx b/compilerplugins/clang/useuniqueptr.cxx
index dfa0917735f0..d8a4be063cb2 100644
--- a/compilerplugins/clang/useuniqueptr.cxx
+++ b/compilerplugins/clang/useuniqueptr.cxx
@@ -170,22 +170,22 @@ void UseUniquePtr::CheckDeleteExpr(const CXXDestructorDecl* destructorDecl, cons
if (loplugin::hasPathnamePrefix(aFileName, WORKDIR))
return;
// passes and stores pointers to member fields
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/sot/source/sdstor/stgdir.hxx"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/sot/source/sdstor/stgdir.hxx"))
return;
// something platform-specific
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/hwpfilter/source/htags.h"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/hwpfilter/source/htags.h"))
return;
// passes pointers to member fields
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/sd/inc/sdpptwrp.hxx"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/sd/inc/sdpptwrp.hxx"))
return;
// @TODO intrusive linked-lists here, with some trickiness
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/sw/source/filter/html/parcss1.hxx"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/sw/source/filter/html/parcss1.hxx"))
return;
// @TODO SwDoc has some weird ref-counting going on
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/sw/inc/shellio.hxx"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/sw/inc/shellio.hxx"))
return;
// @TODO it's sharing pointers with another class
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/sc/inc/formulacell.hxx"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/sc/inc/formulacell.hxx"))
return;
// some weird stuff going on here around struct Entity
if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/sax/"))
@@ -198,23 +198,23 @@ void UseUniquePtr::CheckDeleteExpr(const CXXDestructorDecl* destructorDecl, cons
if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/include/sot/"))
return;
// the std::vector is being passed to another class
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/sfx2/source/explorer/nochaos.cxx"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/sfx2/source/explorer/nochaos.cxx"))
return;
// ignore std::map and std::unordered_map, MSVC 2015 has problems with mixing these with std::unique_ptr
auto tc = loplugin::TypeCheck(fieldDecl->getType());
if (tc.Class("map").StdNamespace() || tc.Class("unordered_map").StdNamespace())
return;
// there is a loop in ~ImplPrnQueueList deleting stuff on a global data structure
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/vcl/inc/print.h"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/vcl/inc/print.h"))
return;
// painful linked list
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/basic/source/inc/runtime.hxx"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/basic/source/inc/runtime.hxx"))
return;
// not sure how the node management is working here
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/i18npool/source/localedata/saxparser.cxx"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/i18npool/source/localedata/saxparser.cxx"))
return;
// has a pointer that it only sometimes owns
- if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/editeng/source/editeng/impedit.hxx"))
+ if (loplugin::isSamePathname(aFileName, SRCDIR "/editeng/source/editeng/impedit.hxx"))
return;
report(
diff --git a/compilerplugins/clang/vclwidgets.cxx b/compilerplugins/clang/vclwidgets.cxx
index c2cfeaa08095..af2b1bf46cdd 100644
--- a/compilerplugins/clang/vclwidgets.cxx
+++ b/compilerplugins/clang/vclwidgets.cxx
@@ -240,9 +240,9 @@ bool VCLWidgets::VisitCXXDestructorDecl(const CXXDestructorDecl* pCXXDestructorD
SourceLocation spellingLocation = compiler.getSourceManager().getSpellingLoc(
pCXXDestructorDecl->getLocStart());
StringRef filename = compiler.getSourceManager().getFilename(spellingLocation);
- if ( !(loplugin::hasPathnamePrefix(filename, SRCDIR "/vcl/source/window/window.cxx"))
- && !(loplugin::hasPathnamePrefix(filename, SRCDIR "/vcl/source/gdi/virdev.cxx"))
- && !(loplugin::hasPathnamePrefix(filename, SRCDIR "/vcl/qa/cppunit/lifecycle.cxx")) )
+ if ( !(loplugin::isSamePathname(filename, SRCDIR "/vcl/source/window/window.cxx"))
+ && !(loplugin::isSamePathname(filename, SRCDIR "/vcl/source/gdi/virdev.cxx"))
+ && !(loplugin::isSamePathname(filename, SRCDIR "/vcl/qa/cppunit/lifecycle.cxx")) )
{
report(
DiagnosticsEngine::Warning,
@@ -670,7 +670,7 @@ bool VCLWidgets::VisitCXXDeleteExpr(const CXXDeleteExpr *pCXXDeleteExpr)
SourceLocation spellingLocation = compiler.getSourceManager().getSpellingLoc(
pCXXDeleteExpr->getLocStart());
StringRef filename = compiler.getSourceManager().getFilename(spellingLocation);
- if ( !(loplugin::hasPathnamePrefix(filename, SRCDIR "/include/vcl/vclreferencebase.hxx")))
+ if ( !(loplugin::isSamePathname(filename, SRCDIR "/include/vcl/vclreferencebase.hxx")))
{
report(
DiagnosticsEngine::Warning,
More information about the Libreoffice-commits
mailing list