[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