diff --git a/cppu/CppunitTest_cppu_qa_reference.mk b/cppu/CppunitTest_cppu_qa_reference.mk index acc996bc94e1..de9b2813b853 100644 --- a/cppu/CppunitTest_cppu_qa_reference.mk +++ b/cppu/CppunitTest_cppu_qa_reference.mk @@ -14,6 +14,8 @@ $(eval $(call gb_CppunitTest_add_exception_objects,cppu_qa_reference, \ cppu/qa/test_reference \ )) +$(eval $(call gb_CppunitTest_use_external,cppu_qa_reference,boost_headers)) + $(eval $(call gb_CppunitTest_use_libraries,cppu_qa_reference, \ cppu \ sal \ diff --git a/cppu/qa/test_any.cxx b/cppu/qa/test_any.cxx index e022f8286266..48dfd753d40b 100644 --- a/cppu/qa/test_any.cxx +++ b/cppu/qa/test_any.cxx @@ -43,6 +43,7 @@ #include "Struct2.hpp" #include "Struct2a.hpp" #include "Struct2b.hpp" +#include "boost/noncopyable.hpp" #include "boost/type_traits/is_same.hpp" #include "com/sun/star/uno/Any.hxx" #include "com/sun/star/uno/Reference.hxx" @@ -59,7 +60,7 @@ namespace { -class Base { +class Base: private boost::noncopyable { public: Base(): m_count(0) {} @@ -79,9 +80,6 @@ protected: virtual ~Base() {} private: - Base(Base &); // not declared - void operator =(Base &); // not declared - oslInterlockedCount m_count; }; diff --git a/cppu/qa/test_reference.cxx b/cppu/qa/test_reference.cxx index fe3191f629df..15f3b7dac7cc 100644 --- a/cppu/qa/test_reference.cxx +++ b/cppu/qa/test_reference.cxx @@ -19,6 +19,7 @@ #include +#include #include #include #include @@ -39,7 +40,7 @@ using ::com::sun::star::uno::Reference; using ::com::sun::star::uno::RuntimeException; using ::com::sun::star::uno::UNO_SET_THROW; -class Foo: public Interface1 +class Foo: public Interface1, private boost::noncopyable { public: Foo() @@ -81,10 +82,6 @@ protected: { } -private: - Foo(Foo &); // not declared - Foo& operator =(const Foo&); // not declared - private: oslInterlockedCount m_refCount; }; @@ -92,10 +89,14 @@ private: // Check that the up-casting Reference conversion constructor catches the // intended cases: -struct Base1: public css::uno::XInterface { virtual ~Base1() = 0; }; -struct Base2: public Base1 {}; -struct Base3: public Base1 {}; -struct Derived: public Base2, public Base3 {}; +struct Base1: public css::uno::XInterface { + virtual ~Base1() SAL_DELETED_FUNCTION; +}; +struct Base2: public Base1 { virtual ~Base2() SAL_DELETED_FUNCTION; }; +struct Base3: public Base1 { virtual ~Base3() SAL_DELETED_FUNCTION; }; +struct Derived: public Base2, public Base3 { + virtual ~Derived() SAL_DELETED_FUNCTION; +}; // The special case using the conversion operator instead: css::uno::Reference< css::uno::XInterface > testUpcast1(