[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.2' - compilerplugins/clang

Luboš Luňák (via logerrit) logerrit at kemper.freedesktop.org
Mon Oct 7 15:18:31 UTC 2019


 compilerplugins/clang/constantparam.cxx             |    2 +-
 compilerplugins/clang/constfields.cxx               |    2 +-
 compilerplugins/clang/countusersofdefaultparams.cxx |    2 +-
 compilerplugins/clang/expandablemethods.cxx         |    2 +-
 compilerplugins/clang/finalclasses.cxx              |    2 +-
 compilerplugins/clang/inlinefields.cxx              |    2 +-
 compilerplugins/clang/mergeclasses.cxx              |    2 +-
 compilerplugins/clang/methodcycles.cxx              |    2 +-
 compilerplugins/clang/plugin.cxx                    |    3 +--
 compilerplugins/clang/shouldreturnbool.cxx          |    2 +-
 compilerplugins/clang/singlevalfields.cxx           |    2 +-
 compilerplugins/clang/store/badvectorinit.cxx       |    2 +-
 compilerplugins/clang/store/constantfunction.cxx    |    2 +-
 compilerplugins/clang/store/defaultparams.cxx       |    2 +-
 compilerplugins/clang/store/deletedspecial.cxx      |    2 +-
 compilerplugins/clang/store/fpcomparison.cxx        |    2 +-
 compilerplugins/clang/store/returnbyref.cxx         |    2 +-
 compilerplugins/clang/store/revisibility.cxx        |    2 +-
 compilerplugins/clang/store/stylepolice.cxx         |    2 +-
 compilerplugins/clang/unnecessaryvirtual.cxx        |    2 +-
 compilerplugins/clang/unusedenumconstants.cxx       |    2 +-
 compilerplugins/clang/unusedfields.cxx              |    2 +-
 compilerplugins/clang/unusedmethods.cxx             |    2 +-
 compilerplugins/clang/virtualdown.cxx               |    2 +-
 24 files changed, 24 insertions(+), 25 deletions(-)

New commits:
commit 35ed524811d36723a79774d4cac7379aaee247dd
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Sun Oct 6 20:44:39 2019 +0200
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Mon Oct 7 17:17:49 2019 +0200

    do not use compiler.getSourceManager().getFilename()
    
    This is a continuation of ff002524c12471668e63837a804b6006f9136a34.
    When compiling with icecream, its -frewrite-includes merges
    all #include's into one .cxx file and marks them with with line
    markers. But SourceManager::getFilename() doesn't take those
    into account and so it reports all of those as <stdin>.
    So use getFileNameOfSpellingLoc(), which explicitly handles this
    case.
    And we should probably never ever use SourceManager::getFilename().
    
    Change-Id: Ia194c2e041578e1e199aee2df2f885922ef7e31a
    Reviewed-on: https://gerrit.libreoffice.org/80379
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Andras Timar <andras.timar at collabora.com>

diff --git a/compilerplugins/clang/constantparam.cxx b/compilerplugins/clang/constantparam.cxx
index 208fc19ca0f7..eb3880c267a2 100644
--- a/compilerplugins/clang/constantparam.cxx
+++ b/compilerplugins/clang/constantparam.cxx
@@ -119,7 +119,7 @@ void ConstantParam::addToCallSet(const FunctionDecl* functionDecl, int paramInde
     if (isInUnoIncludeFile(functionDecl))
         return;
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc( functionDecl->getLocation() );
-    StringRef filename = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef filename = getFileNameOfSpellingLoc(expansionLoc);
     if (!loplugin::hasPathnamePrefix(filename, SRCDIR "/"))
         return;
     filename = filename.substr(strlen(SRCDIR)+1);
diff --git a/compilerplugins/clang/constfields.cxx b/compilerplugins/clang/constfields.cxx
index 6613c836b892..069998ff4cc1 100644
--- a/compilerplugins/clang/constfields.cxx
+++ b/compilerplugins/clang/constfields.cxx
@@ -233,7 +233,7 @@ MyFieldInfo ConstFields::niceName(const FieldDecl* fieldDecl)
 
     SourceLocation expansionLoc
         = compiler.getSourceManager().getExpansionLoc(fieldDecl->getLocation());
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     aInfo.sourceLocation
         = std::string(name.substr(strlen(SRCDIR) + 1)) + ":"
           + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));
diff --git a/compilerplugins/clang/countusersofdefaultparams.cxx b/compilerplugins/clang/countusersofdefaultparams.cxx
index 12057dec9264..14b2c62434b9 100644
--- a/compilerplugins/clang/countusersofdefaultparams.cxx
+++ b/compilerplugins/clang/countusersofdefaultparams.cxx
@@ -208,7 +208,7 @@ bool CountUsersOfDefaultParams::VisitCXXConstructExpr(const CXXConstructExpr * c
 std::string CountUsersOfDefaultParams::locationToString(const SourceLocation& sourceLoc)
 {
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc( sourceLoc );
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     return std::string(name.substr(strlen(SRCDIR)+1)) + ":" + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));
 }
 
diff --git a/compilerplugins/clang/expandablemethods.cxx b/compilerplugins/clang/expandablemethods.cxx
index 4da75cfd0f02..cf2f8ac2bc0a 100644
--- a/compilerplugins/clang/expandablemethods.cxx
+++ b/compilerplugins/clang/expandablemethods.cxx
@@ -160,7 +160,7 @@ MyFuncInfo ExpandableMethods::niceName(const FunctionDecl* functionDecl)
 std::string ExpandableMethods::toString(SourceLocation loc)
 {
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc( loc );
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     std::string sourceLocation = std::string(name.substr(strlen(SRCDIR)+1)) + ":" + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));
     loplugin::normalizeDotDotInFilePath(sourceLocation);
     return sourceLocation;
diff --git a/compilerplugins/clang/finalclasses.cxx b/compilerplugins/clang/finalclasses.cxx
index f31f28d8f895..b90c9c4c72ec 100644
--- a/compilerplugins/clang/finalclasses.cxx
+++ b/compilerplugins/clang/finalclasses.cxx
@@ -128,7 +128,7 @@ bool FinalClasses::VisitCXXRecordDecl(const CXXRecordDecl* decl)
         return true;
 
     SourceLocation spellingLocation = compiler.getSourceManager().getSpellingLoc(compat::getBeginLoc(decl));
-    std::string filename = compiler.getSourceManager().getFilename(spellingLocation);
+    std::string filename = getFileNameOfSpellingLoc(spellingLocation);
     auto sourceLocation = filename.substr(strlen(SRCDIR)) + ":"
         + std::to_string(compiler.getSourceManager().getSpellingLineNumber(spellingLocation));
     definitionMap.insert( std::pair<std::string,std::string>(s, sourceLocation) );
diff --git a/compilerplugins/clang/inlinefields.cxx b/compilerplugins/clang/inlinefields.cxx
index 0c1d28e20e0c..7ae4fb1345b7 100644
--- a/compilerplugins/clang/inlinefields.cxx
+++ b/compilerplugins/clang/inlinefields.cxx
@@ -119,7 +119,7 @@ MyFieldInfo InlineFields::niceName(const FieldDecl* fieldDecl)
     aInfo.fieldName = fieldDecl->getNameAsString();
 
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc( fieldDecl->getLocation() );
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     aInfo.sourceLocation = std::string(name.substr(strlen(SRCDIR)+1)) + ":" + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));
     loplugin::normalizeDotDotInFilePath(aInfo.sourceLocation);
 
diff --git a/compilerplugins/clang/mergeclasses.cxx b/compilerplugins/clang/mergeclasses.cxx
index bac4a36df1d8..a37abd568d02 100644
--- a/compilerplugins/clang/mergeclasses.cxx
+++ b/compilerplugins/clang/mergeclasses.cxx
@@ -149,7 +149,7 @@ bool MergeClasses::VisitCXXRecordDecl(const CXXRecordDecl* decl)
     if (decl->isThisDeclarationADefinition())
     {
         SourceLocation spellingLocation = compiler.getSourceManager().getSpellingLoc(compat::getBeginLoc(decl));
-        std::string filename = compiler.getSourceManager().getFilename(spellingLocation);
+        std::string filename = getFileNameOfSpellingLoc(spellingLocation);
         filename = filename.substr(strlen(SRCDIR));
         std::string s = decl->getQualifiedNameAsString();
         if (ignoreClass(s))
diff --git a/compilerplugins/clang/methodcycles.cxx b/compilerplugins/clang/methodcycles.cxx
index 20a31171c001..3b0df79da574 100644
--- a/compilerplugins/clang/methodcycles.cxx
+++ b/compilerplugins/clang/methodcycles.cxx
@@ -176,7 +176,7 @@ MyFuncInfo MethodCycles::niceName(const FunctionDecl* functionDecl)
 std::string MethodCycles::toString(SourceLocation loc)
 {
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc(loc);
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     std::string sourceLocation
         = std::string(name.substr(strlen(SRCDIR) + 1)) + ":"
           + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));
diff --git a/compilerplugins/clang/plugin.cxx b/compilerplugins/clang/plugin.cxx
index 84975c99107a..5a5ba4bad9ab 100644
--- a/compilerplugins/clang/plugin.cxx
+++ b/compilerplugins/clang/plugin.cxx
@@ -622,8 +622,7 @@ bool RewritePlugin::wouldRewriteWorkdir(SourceLocation loc)
         return false;
     }
     return
-        compiler.getSourceManager().getFilename(
-            compiler.getSourceManager().getSpellingLoc(loc))
+        getFileNameOfSpellingLoc(compiler.getSourceManager().getSpellingLoc(loc))
         .startswith(WORKDIR "/");
 }
 
diff --git a/compilerplugins/clang/shouldreturnbool.cxx b/compilerplugins/clang/shouldreturnbool.cxx
index 937dba126da0..e69ee162e50a 100644
--- a/compilerplugins/clang/shouldreturnbool.cxx
+++ b/compilerplugins/clang/shouldreturnbool.cxx
@@ -199,7 +199,7 @@ bool ShouldReturnBool::IsInteresting(FunctionDecl const* functionDecl)
         return false;
 
     // not sure what basegfx is doing here
-    StringRef fileName{ compiler.getSourceManager().getFilename(functionDecl->getLocation()) };
+    StringRef fileName{ getFileNameOfSpellingLoc(functionDecl->getLocation()) };
     if (loplugin::isSamePathname(fileName, SRCDIR "/include/basegfx/range/basicrange.hxx"))
         return false;
     // false +
diff --git a/compilerplugins/clang/singlevalfields.cxx b/compilerplugins/clang/singlevalfields.cxx
index 7e8195bdacb4..88d0506b4dff 100644
--- a/compilerplugins/clang/singlevalfields.cxx
+++ b/compilerplugins/clang/singlevalfields.cxx
@@ -128,7 +128,7 @@ void SingleValFields::niceName(const FieldDecl* fieldDecl, MyFieldInfo& aInfo)
     aInfo.fieldType = fieldDecl->getType().getAsString();
 
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc( fieldDecl->getLocation() );
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     aInfo.sourceLocation = std::string(name.substr(strlen(SRCDIR)+1)) + ":" + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));
     loplugin::normalizeDotDotInFilePath(aInfo.sourceLocation);
 }
diff --git a/compilerplugins/clang/store/badvectorinit.cxx b/compilerplugins/clang/store/badvectorinit.cxx
index 68cba18de580..67c50fb59189 100644
--- a/compilerplugins/clang/store/badvectorinit.cxx
+++ b/compilerplugins/clang/store/badvectorinit.cxx
@@ -113,7 +113,7 @@ bool BadVectorInit::TraverseFunctionDecl(FunctionDecl* decl)
 StringRef BadVectorInit::getFilename(SourceLocation loc)
 {
     SourceLocation spellingLocation = compiler.getSourceManager().getSpellingLoc(loc);
-    StringRef name { compiler.getSourceManager().getFilename(spellingLocation) };
+    StringRef name { getFileNameOfSpellingLoc(spellingLocation) };
     return name;
 }
 
diff --git a/compilerplugins/clang/store/constantfunction.cxx b/compilerplugins/clang/store/constantfunction.cxx
index b2be6b90532d..59f9e5659ded 100644
--- a/compilerplugins/clang/store/constantfunction.cxx
+++ b/compilerplugins/clang/store/constantfunction.cxx
@@ -45,7 +45,7 @@ public:
 StringRef ConstantFunction::getFilename(const FunctionDecl* functionDecl)
 {
     SourceLocation spellingLocation = compiler.getSourceManager().getSpellingLoc(functionDecl->getCanonicalDecl()->getNameInfo().getLoc());
-    StringRef name { compiler.getSourceManager().getFilename(spellingLocation) };
+    StringRef name { getFileNameOfSpellingLoc(spellingLocation) };
     return name;
 }
 
diff --git a/compilerplugins/clang/store/defaultparams.cxx b/compilerplugins/clang/store/defaultparams.cxx
index 71a637e72c04..331fd8ae843d 100644
--- a/compilerplugins/clang/store/defaultparams.cxx
+++ b/compilerplugins/clang/store/defaultparams.cxx
@@ -91,7 +91,7 @@ bool DefaultParams::VisitCallExpr(CallExpr * callExpr) {
         if (!found)
             break;
         // Ignore CPPUNIT, it's macros contain some stuff that triggers us
-        StringRef aFileName = compiler.getSourceManager().getFilename(compiler.getSourceManager().getSpellingLoc(parmVarDecl->getLocStart()));
+        StringRef aFileName = getFileNameOfSpellingLoc(compiler.getSourceManager().getSpellingLoc(parmVarDecl->getLocStart()));
         if (aFileName.find("include/cppunit") != std::string::npos)
             break;
         report(
diff --git a/compilerplugins/clang/store/deletedspecial.cxx b/compilerplugins/clang/store/deletedspecial.cxx
index 5d66de352184..b287283cdd36 100644
--- a/compilerplugins/clang/store/deletedspecial.cxx
+++ b/compilerplugins/clang/store/deletedspecial.cxx
@@ -141,7 +141,7 @@ bool DeletedSpecial::whitelist(
     std::string const & path)
 {
     return getClass(decl)->getQualifiedNameAsString() == name
-        && (compiler.getSourceManager().getFilename(
+        && (getFileNameOfSpellingLoc(
                 compiler.getSourceManager().getSpellingLoc(decl->getLocation()))
             == SRCDIR "/" + path);
 }
diff --git a/compilerplugins/clang/store/fpcomparison.cxx b/compilerplugins/clang/store/fpcomparison.cxx
index 8ad5d4c3b9e6..d56b02644445 100644
--- a/compilerplugins/clang/store/fpcomparison.cxx
+++ b/compilerplugins/clang/store/fpcomparison.cxx
@@ -70,7 +70,7 @@ bool FpComparison::ignore(FunctionDecl* function)
         return true;
     }
     // we assume that these modules know what they are doing with FP stuff
-    StringRef aFileName = compiler.getSourceManager().getFilename(compiler.getSourceManager().getSpellingLoc(function->getLocStart()));
+    StringRef aFileName = getFileNameOfSpellingLoc(compiler.getSourceManager().getSpellingLoc(function->getLocStart()));
     if (loplugin::hasPathnamePrefix(aFileName, SRCDIR "/sc/")) {
         return true;
     }
diff --git a/compilerplugins/clang/store/returnbyref.cxx b/compilerplugins/clang/store/returnbyref.cxx
index 697ab752909d..fd99a2d0ec06 100644
--- a/compilerplugins/clang/store/returnbyref.cxx
+++ b/compilerplugins/clang/store/returnbyref.cxx
@@ -128,7 +128,7 @@ nextStmt->dump();
 std::string ReturnByRef::getFilename(SourceLocation loc)
 {
     SourceLocation spellingLocation = compiler.getSourceManager().getSpellingLoc(loc);
-    return compiler.getSourceManager().getFilename(spellingLocation);
+    return getFileNameOfSpellingLoc(spellingLocation);
 }
 
 loplugin::Plugin::Registration< ReturnByRef > X("returnbyref");
diff --git a/compilerplugins/clang/store/revisibility.cxx b/compilerplugins/clang/store/revisibility.cxx
index 9aa04f7b2560..3ca541c1fadc 100644
--- a/compilerplugins/clang/store/revisibility.cxx
+++ b/compilerplugins/clang/store/revisibility.cxx
@@ -63,7 +63,7 @@ bool ReVisibility::VisitFunctionDecl(FunctionDecl const * decl) {
             }
         }
         if (decl->isThisDeclarationADefinition() && first != nullptr
-            && !(compiler.getSourceManager().getFilename(
+            && !(getFileNameOfSpellingLoc(
                      compiler.getSourceManager().getSpellingLoc(
                          decl->getLocation()))
                  .startswith(SRCDIR "/libreofficekit/")))
diff --git a/compilerplugins/clang/store/stylepolice.cxx b/compilerplugins/clang/store/stylepolice.cxx
index 2c0ac68c2e4c..f8536108a37d 100644
--- a/compilerplugins/clang/store/stylepolice.cxx
+++ b/compilerplugins/clang/store/stylepolice.cxx
@@ -38,7 +38,7 @@ private:
 StringRef StylePolice::getFilename(SourceLocation loc)
 {
     SourceLocation spellingLocation = compiler.getSourceManager().getSpellingLoc(loc);
-    StringRef name { compiler.getSourceManager().getFilename(spellingLocation) };
+    StringRef name { getFileNameOfSpellingLoc(spellingLocation) };
     return name;
 }
 
diff --git a/compilerplugins/clang/unnecessaryvirtual.cxx b/compilerplugins/clang/unnecessaryvirtual.cxx
index afc324cee156..e5325855aa82 100644
--- a/compilerplugins/clang/unnecessaryvirtual.cxx
+++ b/compilerplugins/clang/unnecessaryvirtual.cxx
@@ -188,7 +188,7 @@ void UnnecessaryVirtual::MarkRootOverridesNonEmpty( const CXXMethodDecl* methodD
 std::string UnnecessaryVirtual::toString(SourceLocation loc)
 {
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc( loc );
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     std::string sourceLocation = std::string(name.substr(strlen(SRCDIR)+1)) + ":" + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));
     loplugin::normalizeDotDotInFilePath(sourceLocation);
     return sourceLocation;
diff --git a/compilerplugins/clang/unusedenumconstants.cxx b/compilerplugins/clang/unusedenumconstants.cxx
index b106d308fdb5..a5fcd7b7b1d5 100644
--- a/compilerplugins/clang/unusedenumconstants.cxx
+++ b/compilerplugins/clang/unusedenumconstants.cxx
@@ -105,7 +105,7 @@ MyFieldInfo UnusedEnumConstants::niceName(const EnumConstantDecl* enumConstantDe
     }
 
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc( enumConstantDecl->getLocation() );
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     aInfo.sourceLocation = std::string(name.substr(strlen(SRCDIR)+1)) + ":" + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));
     loplugin::normalizeDotDotInFilePath(aInfo.sourceLocation);
 
diff --git a/compilerplugins/clang/unusedfields.cxx b/compilerplugins/clang/unusedfields.cxx
index 1e63ac19a3dd..692f17cffa79 100644
--- a/compilerplugins/clang/unusedfields.cxx
+++ b/compilerplugins/clang/unusedfields.cxx
@@ -247,7 +247,7 @@ MyFieldInfo UnusedFields::niceName(const FieldDecl* fieldDecl)
     aInfo.fieldType = fieldDecl->getType().getAsString();
 
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc( fieldDecl->getLocation() );
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     aInfo.sourceLocation = std::string(name.substr(strlen(SRCDIR)+1)) + ":" + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));
     loplugin::normalizeDotDotInFilePath(aInfo.sourceLocation);
 
diff --git a/compilerplugins/clang/unusedmethods.cxx b/compilerplugins/clang/unusedmethods.cxx
index 5f998712d3ef..0b362415ba1c 100644
--- a/compilerplugins/clang/unusedmethods.cxx
+++ b/compilerplugins/clang/unusedmethods.cxx
@@ -187,7 +187,7 @@ MyFuncInfo UnusedMethods::niceName(const FunctionDecl* functionDecl)
 std::string UnusedMethods::toString(SourceLocation loc)
 {
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc( loc );
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     std::string sourceLocation = std::string(name.substr(strlen(SRCDIR)+1)) + ":" + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));
     loplugin::normalizeDotDotInFilePath(sourceLocation);
     return sourceLocation;
diff --git a/compilerplugins/clang/virtualdown.cxx b/compilerplugins/clang/virtualdown.cxx
index 0bc9bf491148..f254b5a10411 100644
--- a/compilerplugins/clang/virtualdown.cxx
+++ b/compilerplugins/clang/virtualdown.cxx
@@ -208,7 +208,7 @@ std::string VirtualDown::niceName(const CXXMethodDecl* cxxMethodDecl)
 std::string VirtualDown::toString(SourceLocation loc)
 {
     SourceLocation expansionLoc = compiler.getSourceManager().getExpansionLoc(loc);
-    StringRef name = compiler.getSourceManager().getFilename(expansionLoc);
+    StringRef name = getFileNameOfSpellingLoc(expansionLoc);
     std::string sourceLocation
         = std::string(name.substr(strlen(SRCDIR) + 1)) + ":"
           + std::to_string(compiler.getSourceManager().getSpellingLineNumber(expansionLoc));


More information about the Libreoffice-commits mailing list