summaryrefslogtreecommitdiff
path: root/cppu
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-03-14 13:27:56 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-03-14 13:32:02 +0100
commit6e67c03dc0225fc66343546b14e902b9d238b1a3 (patch)
tree6e078783d65e280a721b4e46f0ae0ca6b950f121 /cppu
parentfe4be5047988782f3143a1af505c5eecb3f2af5a (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/Makefile4
-rw-r--r--cppu/qa/test_unotype.cxx12
-rw-r--r--cppu/source/threadpool/current.cxx3
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()