From 6e67c03dc0225fc66343546b14e902b9d238b1a3 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 14 Mar 2012 13:27:56 +0100 Subject: Enable -Wnon-virtual-dtor for GCC 4.6 ...which has the necessary features to support it. Change a lot of classes to either contain a protected non-virtual dtor (which is backwards compatible, so even works for cppumaker-generated UNO headers) or a public virtual one. cppuhelper/propertysetmixin.hxx still needs to disable the warning, as the relevant class has a non-virtual dtor but friends, which would still cause GCC to warn. Includes a patch for libcmis, intended to be upstreamed. --- codemaker/source/cppumaker/cpputype.cxx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'codemaker') diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx index 763441bdd932..7c0326d7cff2 100644 --- a/codemaker/source/cppumaker/cpputype.cxx +++ b/codemaker/source/cppumaker/cpputype.cxx @@ -1412,8 +1412,13 @@ void InterfaceType::dumpDeclaration(FileStream& o) o << "\n" << indent() << ("static inline ::com::sun::star::uno::Type const & SAL_CALL" - " static_type(void * = 0);\n"); - + " static_type(void * = 0);\n\n"); + dec(); + o << "protected:\n"; + inc(); + o << indent() << "~" << m_name + << ("() throw () {} // avoid warnings about virtual members and" + " non-virtual dtor\n"); dec(); o << "};\n\n"; } -- cgit