[Libreoffice-commits] core.git: compilerplugins/clang sw/inc sw/qa

Stephan Bergmann sbergman at redhat.com
Mon Mar 13 16:24:55 UTC 2017


 compilerplugins/clang/unnecessaryoverride.cxx |   18 ++++++++----------
 sw/inc/unotbl.hxx                             |    1 -
 sw/qa/extras/inc/swmodeltestbase.hxx          |    3 ---
 3 files changed, 8 insertions(+), 14 deletions(-)

New commits:
commit 6661bdb076f05427d28a3b069da7ea9ae957cd94
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Mar 13 17:24:09 2017 +0100

    Minor loplugin:unnecessaryoverride improvement
    
    Change-Id: I3afb31b642a47e767dda0614d223b6b7f22e5d54

diff --git a/compilerplugins/clang/unnecessaryoverride.cxx b/compilerplugins/clang/unnecessaryoverride.cxx
index 166ae65..5102faa 100644
--- a/compilerplugins/clang/unnecessaryoverride.cxx
+++ b/compilerplugins/clang/unnecessaryoverride.cxx
@@ -114,10 +114,6 @@ bool UnnecessaryOverride::VisitCXXMethodDecl(const CXXMethodDecl* methodDecl)
         // operator to change from being an obsolete feature to being a standard
         // feature.  That difference is not taken into account here.
         auto cls = methodDecl->getParent();
-        if (methodDecl->isVirtual() && cls->getNumBases() == 0)
-        {
-            return true;
-        }
         if (methodDecl->getAccess() != AS_public)
         {
             return true;
@@ -131,6 +127,7 @@ bool UnnecessaryOverride::VisitCXXMethodDecl(const CXXMethodDecl* methodDecl)
         // if it's virtual, but it has a base-class with a non-virtual destructor
         if (methodDecl->isVirtual())
         {
+            bool baseWithVirtualDtor = false;
             for (auto baseSpecifier = cls->bases_begin(); baseSpecifier != cls->bases_end(); ++baseSpecifier)
             {
                 const RecordType* baseRecordType = baseSpecifier->getType()->getAs<RecordType>();
@@ -138,15 +135,16 @@ bool UnnecessaryOverride::VisitCXXMethodDecl(const CXXMethodDecl* methodDecl)
                 {
                     const CXXRecordDecl* baseRecordDecl = dyn_cast<CXXRecordDecl>(baseRecordType->getDecl());
                     if (baseRecordDecl && baseRecordDecl->getDestructor()
-                        && !baseRecordDecl->getDestructor()->isVirtual())
+                        && baseRecordDecl->getDestructor()->isVirtual())
                     {
-                        return true;
+                        baseWithVirtualDtor = true;
+                        break;
                     }
                 }
-                else
-                {
-                    return true; // dependent base
-                }
+            }
+            if (!baseWithVirtualDtor)
+            {
+                return true;
             }
         }
         // corner case
diff --git a/sw/inc/unotbl.hxx b/sw/inc/unotbl.hxx
index aa18474..7b06cc1 100644
--- a/sw/inc/unotbl.hxx
+++ b/sw/inc/unotbl.hxx
@@ -245,7 +245,6 @@ public:
     SwUnoCursor&                  GetCursor();
     sw::UnoCursorPointer m_pUnoCursor;
     SwFrameFormat*       GetFrameFormat() const { return const_cast<SwFrameFormat*>(static_cast<const SwFrameFormat*>(GetRegisteredIn())); }
-    virtual ~SwXTextTableCursor() override { };
 };
 
 struct SwRangeDescriptor
diff --git a/sw/qa/extras/inc/swmodeltestbase.hxx b/sw/qa/extras/inc/swmodeltestbase.hxx
index 8bb35fc..c4cbeeb 100644
--- a/sw/qa/extras/inc/swmodeltestbase.hxx
+++ b/sw/qa/extras/inc/swmodeltestbase.hxx
@@ -192,9 +192,6 @@ public:
         maTempFile.EnableKillingFile();
     }
 
-    virtual ~SwModelTestBase() override
-    {}
-
     virtual void setUp() override
     {
         test::BootstrapFixture::setUp();


More information about the Libreoffice-commits mailing list