summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-09-07 10:48:41 +0200
committerStephan Bergmann <sbergman@redhat.com>2018-09-07 20:07:45 +0200
commitc5483edae01e4145c80439c5070e0bf2fad51186 (patch)
tree65d04b60c80fd6f980e3ce0d4d8a3aa7f8ba844c
parent91f2b2b88731bd083c6a5218ae4eb35126e4b872 (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.hxx22
-rw-r--r--salhelper/source/simplereferenceobject.cxx15
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: */