Kaydet (Commit) c5483eda authored tarafından Stephan Bergmann's avatar Stephan Bergmann

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: 's avatarStephan Bergmann <sbergman@redhat.com>
üst 91f2b2b8
......@@ -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;
};
}
......
......@@ -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: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment