diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-03-14 13:27:56 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-03-14 13:32:02 +0100 |
commit | 6e67c03dc0225fc66343546b14e902b9d238b1a3 (patch) | |
tree | 6e078783d65e280a721b4e46f0ae0ca6b950f121 /cppu | |
parent | fe4be5047988782f3143a1af505c5eecb3f2af5a (diff) |
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.
Diffstat (limited to 'cppu')
-rw-r--r-- | cppu/qa/Makefile | 4 | ||||
-rw-r--r-- | cppu/qa/test_unotype.cxx | 12 | ||||
-rw-r--r-- | cppu/source/threadpool/current.cxx | 3 |
3 files changed, 15 insertions, 4 deletions
diff --git a/cppu/qa/Makefile b/cppu/qa/Makefile index 99a7eec22be3..a68567d66415 100644 --- a/cppu/qa/Makefile +++ b/cppu/qa/Makefile @@ -26,11 +26,11 @@ # instead of those above. gb_PARTIALBUILD:=T -include $(GBUILDDIR)/gbuild_simple.mk +include $(GBUILDDIR)/gbuild.mk all: qa/cppumaker.flag qa/cppumaker/cppumaker.flag -%/cppumaker.flag: %/cppumaker.rdb +%/cppumaker.flag: %/cppumaker.rdb $(gb_UnoApiTarget_CPPUMAKERTARGET) $(call gb_Helper_abbreviate_dirs_native, \ $(call gb_Helper_execute,cppumaker) -O. -BUCR -C $< $(OUTDIR_FOR_BUILD)/bin/udkapi.rdb) touch $@ diff --git a/cppu/qa/test_unotype.cxx b/cppu/qa/test_unotype.cxx index 157cfcb1304d..546200ac7198 100644 --- a/cppu/qa/test_unotype.cxx +++ b/cppu/qa/test_unotype.cxx @@ -74,9 +74,17 @@ struct DerivedException1: css::uno::Exception {}; struct DerivedException2: css::uno::RuntimeException {}; -struct DerivedInterface1: css::uno::XInterface {}; +struct DerivedInterface1: css::uno::XInterface { +private: + ~DerivedInterface1() {} + // avoid warnings about virtual members and non-virtual dtor +}; -struct DerivedInterface2: css::uno::XComponentContext {}; +struct DerivedInterface2: css::uno::XComponentContext { +private: + ~DerivedInterface2() {} + // avoid warnings about virtual members and non-virtual dtor +}; class Test: public ::CppUnit::TestFixture { public: diff --git a/cppu/source/threadpool/current.cxx b/cppu/source/threadpool/current.cxx index f1194c91003e..87b8c415d98c 100644 --- a/cppu/source/threadpool/current.cxx +++ b/cppu/source/threadpool/current.cxx @@ -54,6 +54,9 @@ public: virtual void SAL_CALL slot_queryInterface() = 0; virtual void SAL_CALL acquire() throw () = 0; virtual void SAL_CALL release() throw () = 0; +protected: + ~XInterface() {} + // avoid warnings about virtual members and non-virtual dtor }; //-------------------------------------------------------------------------------------------------- static typelib_InterfaceTypeDescription * get_type_XCurrentContext() |