Fix various clang-cl warnings

...in Windows-only code that has recently been brought back to life with
db8a2a5670 "tdf#39625 make
sal/qa/systools/test_comtools.cxx work with CppUnit"

Change-Id: Ia93e84f5719c2320789aec5f711067f9174acb55
Reviewed-on: https://gerrit.libreoffice.org/68682
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This commit is contained in:
Stephan Bergmann
2019-03-04 13:34:34 +01:00
parent 8643f6d64d
commit cebc28ce2f

View File

@@ -28,17 +28,17 @@ public:
{ {
} }
~COMObject() virtual ~COMObject()
{ {
} }
ULONG __stdcall AddRef() ULONG __stdcall AddRef() override
{ {
ref_count_++; ref_count_++;
return ref_count_; return ref_count_;
} }
ULONG __stdcall Release() ULONG __stdcall Release() override
{ {
ULONG cnt = --ref_count_; ULONG cnt = --ref_count_;
if (cnt == 0) if (cnt == 0)
@@ -46,7 +46,7 @@ public:
return cnt; return cnt;
} }
HRESULT __stdcall QueryInterface(REFIID riid, LPVOID* ppv) HRESULT __stdcall QueryInterface(REFIID riid, LPVOID* ppv) override
{ {
if (riid == IID_IUnknown) if (riid == IID_IUnknown)
{ {
@@ -66,12 +66,12 @@ private:
ULONG ref_count_; ULONG ref_count_;
}; };
sal::systools::COMReference<IUnknown> comObjectSource() static sal::systools::COMReference<IUnknown> comObjectSource()
{ {
return sal::systools::COMReference<IUnknown>(new COMObject); return sal::systools::COMReference<IUnknown>(new COMObject);
} }
bool comObjectSink(sal::systools::COMReference<IUnknown> r, ULONG expectedRefCountOnReturn) static bool comObjectSink(sal::systools::COMReference<IUnknown> r, ULONG expectedRefCountOnReturn)
{ {
r = sal::systools::COMReference<IUnknown>(); r = sal::systools::COMReference<IUnknown>();
COMObject* p = reinterpret_cast<COMObject*>(r.get()); COMObject* p = reinterpret_cast<COMObject*>(r.get());
@@ -81,7 +81,7 @@ bool comObjectSink(sal::systools::COMReference<IUnknown> r, ULONG expectedRefCou
return (0 == expectedRefCountOnReturn); return (0 == expectedRefCountOnReturn);
} }
void comObjectSource2(LPVOID* ppv) static void comObjectSource2(LPVOID* ppv)
{ {
COMObject* p = new COMObject; COMObject* p = new COMObject;
p->AddRef(); p->AddRef();
@@ -99,7 +99,7 @@ namespace test_comtools
void default_ctor() void default_ctor()
{ {
sal::systools::COMReference<IUnknown> r; sal::systools::COMReference<IUnknown> r;
CPPUNIT_ASSERT_MESSAGE("COMReference should be empty", r.get() == NULL); CPPUNIT_ASSERT_EQUAL_MESSAGE("COMReference should be empty", static_cast<IUnknown *>(nullptr), r.get());
} }
void test_ctor_manual_AddRef() void test_ctor_manual_AddRef()
@@ -107,44 +107,44 @@ namespace test_comtools
COMObject* p = new COMObject; COMObject* p = new COMObject;
p->AddRef(); p->AddRef();
sal::systools::COMReference<IUnknown> r(p, false); sal::systools::COMReference<IUnknown> r(p, false);
CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count 1 is expected", ULONG(1), reinterpret_cast<COMObject*>(r.get())->GetRefCount());
} }
void test_copy_ctor() void test_copy_ctor()
{ {
sal::systools::COMReference<IUnknown> r(comObjectSource()); sal::systools::COMReference<IUnknown> r(comObjectSource());
CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count 1 is expected", ULONG(1), reinterpret_cast<COMObject*>(r.get())->GetRefCount());
} }
void test_copy_assignment() void test_copy_assignment()
{ {
sal::systools::COMReference<IUnknown> r; sal::systools::COMReference<IUnknown> r;
CPPUNIT_ASSERT_MESSAGE("COMReference should be empty", r.get() == NULL); CPPUNIT_ASSERT_EQUAL_MESSAGE("COMReference should be empty", static_cast<IUnknown *>(nullptr), r.get());
r = comObjectSource(); r = comObjectSource();
CPPUNIT_ASSERT_MESSAGE("COMReference should be empty", r.get() != NULL); CPPUNIT_ASSERT_MESSAGE("COMReference should be empty", r.get() != nullptr);
CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count 1 is expected", ULONG(1), reinterpret_cast<COMObject*>(r.get())->GetRefCount());
} }
void test_ref_to_ref_assignment() void test_ref_to_ref_assignment()
{ {
sal::systools::COMReference<IUnknown> r1 = comObjectSource(); sal::systools::COMReference<IUnknown> r1 = comObjectSource();
sal::systools::COMReference<IUnknown> r2 = r1; sal::systools::COMReference<IUnknown> r2 = r1;
CPPUNIT_ASSERT_MESSAGE("Wrong reference count 2 is expected", reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 2); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count 2 is expected", ULONG(2), reinterpret_cast<COMObject*>(r2.get())->GetRefCount());
} }
void test_pointer_to_ref_assignment() void test_pointer_to_ref_assignment()
{ {
sal::systools::COMReference<IUnknown> r; sal::systools::COMReference<IUnknown> r;
r = new COMObject; r = new COMObject;
CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count 1 is expected", ULONG(1), reinterpret_cast<COMObject*>(r.get())->GetRefCount());
} }
void test_pointer_to_ref_assignment2() void test_pointer_to_ref_assignment2()
{ {
sal::systools::COMReference<IUnknown> r = comObjectSource(); sal::systools::COMReference<IUnknown> r = comObjectSource();
r = new COMObject; r = new COMObject;
CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count 1 is expected", ULONG(1), reinterpret_cast<COMObject*>(r.get())->GetRefCount());
} }
void test_source_sink() void test_source_sink()
@@ -156,23 +156,23 @@ namespace test_comtools
{ {
sal::systools::COMReference<IUnknown> r; sal::systools::COMReference<IUnknown> r;
comObjectSource2(reinterpret_cast<LPVOID*>(&r)); comObjectSource2(reinterpret_cast<LPVOID*>(&r));
CPPUNIT_ASSERT_MESSAGE("Wrong reference count, 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count, 1 is expected", ULONG(1), reinterpret_cast<COMObject*>(r.get())->GetRefCount());
} }
void test_address_operator2() void test_address_operator2()
{ {
sal::systools::COMReference<IUnknown> r1 = comObjectSource(); sal::systools::COMReference<IUnknown> r1 = comObjectSource();
sal::systools::COMReference<IUnknown> r2 = r1; sal::systools::COMReference<IUnknown> r2 = r1;
CPPUNIT_ASSERT_MESSAGE("Wrong reference count 2 is expected", reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 2); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count 2 is expected", ULONG(2), reinterpret_cast<COMObject*>(r2.get())->GetRefCount());
comObjectSource2(reinterpret_cast<LPVOID*>(&r1)); comObjectSource2(reinterpret_cast<LPVOID*>(&r1));
CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r1.get())->GetRefCount() == 1); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count 1 is expected", ULONG(1), reinterpret_cast<COMObject*>(r1.get())->GetRefCount());
CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 1); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count 1 is expected", ULONG(1), reinterpret_cast<COMObject*>(r2.get())->GetRefCount());
} }
void test_clear() void test_clear()
{ {
sal::systools::COMReference<IUnknown> r = comObjectSource(); sal::systools::COMReference<IUnknown> r = comObjectSource();
CPPUNIT_ASSERT_MESSAGE("Wrong reference count 1 is expected", reinterpret_cast<COMObject*>(r.get())->GetRefCount() == 1); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count 1 is expected", ULONG(1), reinterpret_cast<COMObject*>(r.get())->GetRefCount());
r.clear(); r.clear();
CPPUNIT_ASSERT_MESSAGE("Expect reference to be empty", !r.is()); CPPUNIT_ASSERT_MESSAGE("Expect reference to be empty", !r.is());
} }
@@ -183,7 +183,7 @@ namespace test_comtools
{ {
sal::systools::COMReference<IUnknown> r1 = comObjectSource(); sal::systools::COMReference<IUnknown> r1 = comObjectSource();
sal::systools::COMReference<IUnknown> r2 = r1.QueryInterface<IUnknown>(IID_IUnknown); sal::systools::COMReference<IUnknown> r2 = r1.QueryInterface<IUnknown>(IID_IUnknown);
CPPUNIT_ASSERT_MESSAGE("Wrong reference count, 2 is expected", reinterpret_cast<COMObject*>(r2.get())->GetRefCount() == 2); CPPUNIT_ASSERT_EQUAL_MESSAGE("Wrong reference count, 2 is expected", ULONG(2), reinterpret_cast<COMObject*>(r2.get())->GetRefCount());
} }
catch(const sal::systools::ComError&) catch(const sal::systools::ComError&)
{ {