diff --git a/doc/changelog.dox b/doc/changelog.dox index 946c68808..fce6f9eaf 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -1167,6 +1167,11 @@ See also: - Created a RPM package with a helper script for building (see [mosra/magnum#537](https://github.com/mosra/magnum/pull/537) and [mosra/magnum#650](https://github.com/mosra/magnum/pull/650)) +- Worked around a `-Wnon-virtual-dtor` warning on GCC and Clang in the + @ref SceneGraph library. The same warning (which is off by default) fires + also for any use of @ref Platform application classes, fixing that would + however only add warning suppression noise or force destructors to be + `virtual` for no reason, so it's not done there. See [mosra/magnum#665](https://github.com/mosra/magnum/issues/665). @subsection changelog-latest-bugfixes Bug fixes diff --git a/src/Magnum/SceneGraph/DualComplexTransformation.h b/src/Magnum/SceneGraph/DualComplexTransformation.h index 081151a33..eb2f07c4d 100644 --- a/src/Magnum/SceneGraph/DualComplexTransformation.h +++ b/src/Magnum/SceneGraph/DualComplexTransformation.h @@ -185,6 +185,8 @@ template class BasicDualComplexTransformation: public AbstractBasicTran protected: /* Allow construction only from Object */ explicit BasicDualComplexTransformation() = default; + /* To silence -Wnon-virtual-dtor */ + ~BasicDualComplexTransformation() = default; private: void doResetTransformation() override final { resetTransformation(); } diff --git a/src/Magnum/SceneGraph/DualQuaternionTransformation.h b/src/Magnum/SceneGraph/DualQuaternionTransformation.h index 5360336d1..2abc03c4c 100644 --- a/src/Magnum/SceneGraph/DualQuaternionTransformation.h +++ b/src/Magnum/SceneGraph/DualQuaternionTransformation.h @@ -209,6 +209,8 @@ template class BasicDualQuaternionTransformation: public AbstractBasicT protected: /* Allow construction only from Object */ explicit BasicDualQuaternionTransformation() = default; + /* To silence -Wnon-virtual-dtor */ + ~BasicDualQuaternionTransformation() = default; private: void doResetTransformation() override final { resetTransformation(); } diff --git a/src/Magnum/SceneGraph/MatrixTransformation2D.h b/src/Magnum/SceneGraph/MatrixTransformation2D.h index 91a4befa3..5a2669ff8 100644 --- a/src/Magnum/SceneGraph/MatrixTransformation2D.h +++ b/src/Magnum/SceneGraph/MatrixTransformation2D.h @@ -210,6 +210,8 @@ template class BasicMatrixTransformation2D: public AbstractBasicTransla protected: /* Allow construction only from Object */ explicit BasicMatrixTransformation2D() = default; + /* To silence -Wnon-virtual-dtor */ + ~BasicMatrixTransformation2D() = default; private: void doResetTransformation() override final { resetTransformation(); } diff --git a/src/Magnum/SceneGraph/MatrixTransformation3D.h b/src/Magnum/SceneGraph/MatrixTransformation3D.h index 779ac4a3a..665b4cde2 100644 --- a/src/Magnum/SceneGraph/MatrixTransformation3D.h +++ b/src/Magnum/SceneGraph/MatrixTransformation3D.h @@ -283,6 +283,8 @@ template class BasicMatrixTransformation3D: public AbstractBasicTransla protected: /* Allow construction only from Object */ explicit BasicMatrixTransformation3D() = default; + /* To silence -Wnon-virtual-dtor */ + ~BasicMatrixTransformation3D() = default; private: void doResetTransformation() override final { resetTransformation(); } diff --git a/src/Magnum/SceneGraph/RigidMatrixTransformation2D.h b/src/Magnum/SceneGraph/RigidMatrixTransformation2D.h index 01eeceb65..04495d216 100644 --- a/src/Magnum/SceneGraph/RigidMatrixTransformation2D.h +++ b/src/Magnum/SceneGraph/RigidMatrixTransformation2D.h @@ -210,6 +210,8 @@ template class BasicRigidMatrixTransformation2D: public AbstractBasicTr protected: /* Allow construction only from Object */ explicit BasicRigidMatrixTransformation2D() = default; + /* To silence -Wnon-virtual-dtor */ + ~BasicRigidMatrixTransformation2D() = default; private: void doResetTransformation() override final { resetTransformation(); } diff --git a/src/Magnum/SceneGraph/RigidMatrixTransformation3D.h b/src/Magnum/SceneGraph/RigidMatrixTransformation3D.h index 9fba360ab..bbf06558b 100644 --- a/src/Magnum/SceneGraph/RigidMatrixTransformation3D.h +++ b/src/Magnum/SceneGraph/RigidMatrixTransformation3D.h @@ -282,6 +282,8 @@ template class BasicRigidMatrixTransformation3D: public AbstractBasicTr protected: /* Allow construction only from Object */ explicit BasicRigidMatrixTransformation3D() = default; + /* To silence -Wnon-virtual-dtor */ + ~BasicRigidMatrixTransformation3D() = default; private: void doResetTransformation() override final { resetTransformation(); } diff --git a/src/Magnum/SceneGraph/TranslationRotationScalingTransformation2D.h b/src/Magnum/SceneGraph/TranslationRotationScalingTransformation2D.h index e1f60e552..1c9ff0f93 100644 --- a/src/Magnum/SceneGraph/TranslationRotationScalingTransformation2D.h +++ b/src/Magnum/SceneGraph/TranslationRotationScalingTransformation2D.h @@ -206,6 +206,8 @@ template class BasicTranslationRotationScalingTransformation2D: public protected: /* Allow construction only from Object */ explicit BasicTranslationRotationScalingTransformation2D() = default; + /* To silence -Wnon-virtual-dtor */ + ~BasicTranslationRotationScalingTransformation2D() = default; private: void doResetTransformation() override final { resetTransformation(); } diff --git a/src/Magnum/SceneGraph/TranslationRotationScalingTransformation3D.h b/src/Magnum/SceneGraph/TranslationRotationScalingTransformation3D.h index b6f65494a..2a77e03e5 100644 --- a/src/Magnum/SceneGraph/TranslationRotationScalingTransformation3D.h +++ b/src/Magnum/SceneGraph/TranslationRotationScalingTransformation3D.h @@ -286,6 +286,8 @@ template class BasicTranslationRotationScalingTransformation3D: public protected: /* Allow construction only from Object */ explicit BasicTranslationRotationScalingTransformation3D() = default; + /* To silence -Wnon-virtual-dtor */ + ~BasicTranslationRotationScalingTransformation3D() = default; private: void doResetTransformation() override final { resetTransformation(); } diff --git a/src/Magnum/SceneGraph/TranslationTransformation.h b/src/Magnum/SceneGraph/TranslationTransformation.h index 244d0cdeb..5a3c2776e 100644 --- a/src/Magnum/SceneGraph/TranslationTransformation.h +++ b/src/Magnum/SceneGraph/TranslationTransformation.h @@ -112,6 +112,8 @@ class TranslationTransformation: public AbstractTranslation