diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2018-09-07 10:48:41 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2018-09-07 20:07:45 +0200 |
commit | c5483edae01e4145c80439c5070e0bf2fad51186 (patch) | |
tree | 65d04b60c80fd6f980e3ce0d4d8a3aa7f8ba844c | |
parent | 91f2b2b88731bd083c6a5218ae4eb35126e4b872 (diff) |
Drop workaround for old MSVC that no longer appears necessary with MSVC 2017
The comments talk about unspecific "compilation and/or linking errors" with MSVC
2008 and 2013, but building with latest MSVC 2017 at least works fine now, so
assume the workaround is no longer needed. (Theoretically, external code being
compiled with older MSVC could run into problems now, but lets take that risk of
becoming slightly build-time incompatible here.)
Change-Id: I9e20be355c765c3a881502773963a61305eb00f3
Reviewed-on: https://gerrit.libreoffice.org/60135
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
-rw-r--r-- | include/salhelper/simplereferenceobject.hxx | 22 | ||||
-rw-r--r-- | salhelper/source/simplereferenceobject.cxx | 15 |
2 files changed, 6 insertions, 31 deletions
diff --git a/include/salhelper/simplereferenceobject.hxx b/include/salhelper/simplereferenceobject.hxx index d8f86f52d00a..2745f0d848fd 100644 --- a/include/salhelper/simplereferenceobject.hxx +++ b/include/salhelper/simplereferenceobject.hxx @@ -51,8 +51,8 @@ namespace salhelper { The same problem as with operators new and delete would also be there with operators new[] and delete[]. But since arrays of reference-counted - objects are of no use, anyway, it seems best to simply declare and not - define (private) operators new[] and delete[]. + objects are of no use, anyway, it seems best to simply + define operators new[] and delete[] as deleted. */ class SALHELPER_DLLPUBLIC SimpleReferenceObject { @@ -102,23 +102,13 @@ private: */ void operator =(SimpleReferenceObject) SAL_DELETED_FUNCTION; - /// @cond INTERNAL - -#ifdef _MSC_VER -/* We can't now have these private with MSVC2008 at least, it leads to - compilation errors in xmloff and other places. -*/ -protected: -#endif - /** not implemented (see general class documentation) + /** see general class documentation */ - static void * operator new[](std::size_t); + static void * operator new[](std::size_t) SAL_DELETED_FUNCTION; - /** not implemented (see general class documentation) + /** see general class documentation */ - static void operator delete[](void * pPtr); - - /// @endcond + static void operator delete[](void * pPtr) SAL_DELETED_FUNCTION; }; } diff --git a/salhelper/source/simplereferenceobject.cxx b/salhelper/source/simplereferenceobject.cxx index fcf130d9d192..c07c922528a6 100644 --- a/salhelper/source/simplereferenceobject.cxx +++ b/salhelper/source/simplereferenceobject.cxx @@ -59,19 +59,4 @@ void SimpleReferenceObject::operator delete(void * pPtr, std::nothrow_t const &) #endif // WNT } -#ifdef _MSC_VER - -/* This operator is supposed to be unimplemented, but that now leads - * to compilation and/or linking errors with MSVC2008. Problem still - * there with MSVC2013. As it can be left unimplemented just fine with - * other compilers, presumably it is never called. So do implement it - * then to avoid the compilation and/or linking errors, but make it - * crash intentionally if called. - */ -void SimpleReferenceObject::operator delete[](void * /* pPtr */) -{ - abort(); -} -#endif - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |