summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dbaccess/source/ui/misc/HtmlReader.cxx3
-rw-r--r--dbaccess/source/ui/misc/RtfReader.cxx4
-rw-r--r--framework/inc/xml/saxnamespacefilter.hxx6
-rw-r--r--framework/inc/xml/statusbardocumenthandler.hxx6
-rw-r--r--framework/inc/xml/toolboxdocumenthandler.hxx6
-rw-r--r--include/comphelper/ChainablePropertySetInfo.hxx6
-rw-r--r--include/comphelper/MasterPropertySetInfo.hxx6
-rw-r--r--include/comphelper/containermultiplexer.hxx6
-rw-r--r--include/svl/itemprop.hxx11
-rw-r--r--include/ucbhelper/activedatasink.hxx7
-rw-r--r--include/ucbhelper/commandenvironment.hxx6
-rw-r--r--include/unotools/streamwrap.hxx6
-rw-r--r--l10ntools/source/cfgmerge.cxx3
-rw-r--r--solenv/gbuild/platform/com_MSC_class.mk1
14 files changed, 54 insertions, 23 deletions
diff --git a/dbaccess/source/ui/misc/HtmlReader.cxx b/dbaccess/source/ui/misc/HtmlReader.cxx
index 8bc0b36eb156..c810a9175cf7 100644
--- a/dbaccess/source/ui/misc/HtmlReader.cxx
+++ b/dbaccess/source/ui/misc/HtmlReader.cxx
@@ -110,6 +110,9 @@ SvParserState OHTMLReader::CallParser()
return m_bFoundTable ? eParseState : SvParserState::Error;
}
+#if defined _MSC_VER
+#pragma warning(disable: 4702) // unreachable code, bug in MSVC2015
+#endif
void OHTMLReader::NextToken( HtmlTokenId nToken )
{
if(m_bError || !m_nRows) // if there is an error or no more rows to check, return immediately
diff --git a/dbaccess/source/ui/misc/RtfReader.cxx b/dbaccess/source/ui/misc/RtfReader.cxx
index f09ac52b8eb3..1d71e1b81c78 100644
--- a/dbaccess/source/ui/misc/RtfReader.cxx
+++ b/dbaccess/source/ui/misc/RtfReader.cxx
@@ -92,6 +92,10 @@ SvParserState ORTFReader::CallParser()
return m_bFoundTable ? eParseState : SvParserState::Error;
}
+#if defined _MSC_VER
+#pragma warning(disable: 4702) // unreachable code, bug in MSVC2015
+#endif
+
void ORTFReader::NextToken( int nToken )
{
if(m_bError || !m_nRows) // if there is an error or no more rows to check, return immediately
diff --git a/framework/inc/xml/saxnamespacefilter.hxx b/framework/inc/xml/saxnamespacefilter.hxx
index 68fce7d4834c..8fcb84534998 100644
--- a/framework/inc/xml/saxnamespacefilter.hxx
+++ b/framework/inc/xml/saxnamespacefilter.hxx
@@ -32,8 +32,10 @@
namespace framework
{
-class FWE_DLLPUBLIC SaxNamespaceFilter final :
- public ::cppu::WeakImplHelper< css::xml::sax::XDocumentHandler >
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE SaxNamespaceFilter_Base : public cppu::WeakImplHelper< css::xml::sax::XDocumentHandler > {};
+
+class FWE_DLLPUBLIC SaxNamespaceFilter final : public SaxNamespaceFilter_Base
{
public:
SaxNamespaceFilter( css::uno::Reference< css::xml::sax::XDocumentHandler > const & rSax1DocumentHandler );
diff --git a/framework/inc/xml/statusbardocumenthandler.hxx b/framework/inc/xml/statusbardocumenthandler.hxx
index b0cb57c4fe23..bc12c5a724a1 100644
--- a/framework/inc/xml/statusbardocumenthandler.hxx
+++ b/framework/inc/xml/statusbardocumenthandler.hxx
@@ -35,8 +35,10 @@ namespace framework{
// Hash code function for using in all hash maps of follow implementation.
-class FWE_DLLPUBLIC OReadStatusBarDocumentHandler :
- public ::cppu::WeakImplHelper< css::xml::sax::XDocumentHandler >
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE OReadStatusBarDocumentHandler_Base : public cppu::WeakImplHelper< css::xml::sax::XDocumentHandler > {};
+
+class FWE_DLLPUBLIC OReadStatusBarDocumentHandler : public OReadStatusBarDocumentHandler_Base
{
public:
enum StatusBar_XML_Entry
diff --git a/framework/inc/xml/toolboxdocumenthandler.hxx b/framework/inc/xml/toolboxdocumenthandler.hxx
index c2be53da64d1..dd13ee53eba5 100644
--- a/framework/inc/xml/toolboxdocumenthandler.hxx
+++ b/framework/inc/xml/toolboxdocumenthandler.hxx
@@ -34,8 +34,10 @@ namespace framework{
// Hash code function for using in all hash maps of follow implementation.
-class FWE_DLLPUBLIC OReadToolBoxDocumentHandler :
- public ::cppu::WeakImplHelper< css::xml::sax::XDocumentHandler >
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE OReadToolBoxDocumentHandler_Base : public cppu::WeakImplHelper< css::xml::sax::XDocumentHandler > {};
+
+class FWE_DLLPUBLIC OReadToolBoxDocumentHandler : public OReadToolBoxDocumentHandler_Base
{
public:
enum ToolBox_XML_Entry
diff --git a/include/comphelper/ChainablePropertySetInfo.hxx b/include/comphelper/ChainablePropertySetInfo.hxx
index b7807c74fec4..16bfced1376b 100644
--- a/include/comphelper/ChainablePropertySetInfo.hxx
+++ b/include/comphelper/ChainablePropertySetInfo.hxx
@@ -33,8 +33,10 @@
*/
namespace comphelper
{
- class COMPHELPER_DLLPUBLIC ChainablePropertySetInfo:
- public ::cppu::WeakImplHelper< css::beans::XPropertySetInfo >
+ // workaround for incremental linking bugs in MSVC2015
+ class SAL_DLLPUBLIC_TEMPLATE ChainablePropertySetInfo_Base : public cppu::WeakImplHelper< css::beans::XPropertySetInfo > {};
+
+ class COMPHELPER_DLLPUBLIC ChainablePropertySetInfo : public ChainablePropertySetInfo_Base
{
public:
ChainablePropertySetInfo( PropertyInfo const * pMap );
diff --git a/include/comphelper/MasterPropertySetInfo.hxx b/include/comphelper/MasterPropertySetInfo.hxx
index 07416c79c633..8559b2e2fd45 100644
--- a/include/comphelper/MasterPropertySetInfo.hxx
+++ b/include/comphelper/MasterPropertySetInfo.hxx
@@ -26,8 +26,10 @@
namespace comphelper
{
- class COMPHELPER_DLLPUBLIC MasterPropertySetInfo:
- public ::cppu::WeakImplHelper< css::beans::XPropertySetInfo >
+ // workaround for incremental linking bugs in MSVC2015
+ class SAL_DLLPUBLIC_TEMPLATE MasterPropertySetInfo_Base : public cppu::WeakImplHelper< css::beans::XPropertySetInfo > {};
+
+ class COMPHELPER_DLLPUBLIC MasterPropertySetInfo : public MasterPropertySetInfo_Base
{
public:
MasterPropertySetInfo( PropertyInfo const * pMap );
diff --git a/include/comphelper/containermultiplexer.hxx b/include/comphelper/containermultiplexer.hxx
index 0a3729a5809b..a896c690d530 100644
--- a/include/comphelper/containermultiplexer.hxx
+++ b/include/comphelper/containermultiplexer.hxx
@@ -64,8 +64,10 @@ namespace comphelper
void setAdapter(OContainerListenerAdapter* _pAdapter);
};
- class COMPHELPER_DLLPUBLIC OContainerListenerAdapter
- : public cppu::WeakImplHelper<css::container::XContainerListener>
+ // workaround for incremental linking bugs in MSVC2015
+ class SAL_DLLPUBLIC_TEMPLATE OContainerListenerAdapter_Base : public cppu::WeakImplHelper< css::container::XContainerListener > {};
+
+ class COMPHELPER_DLLPUBLIC OContainerListenerAdapter : public OContainerListenerAdapter_Base
{
friend class OContainerListener;
diff --git a/include/svl/itemprop.hxx b/include/svl/itemprop.hxx
index 334ae8d5f35a..05dc671fc99b 100644
--- a/include/svl/itemprop.hxx
+++ b/include/svl/itemprop.hxx
@@ -182,7 +182,11 @@ public:
};
struct SfxItemPropertySetInfo_Impl;
-class SVL_DLLPUBLIC SfxItemPropertySetInfo : public cppu::WeakImplHelper<css::beans::XPropertySetInfo>
+
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE SfxItemPropertySetInfo_Base : public cppu::WeakImplHelper< css::beans::XPropertySetInfo > {};
+
+class SVL_DLLPUBLIC SfxItemPropertySetInfo : public SfxItemPropertySetInfo_Base
{
std::unique_ptr<SfxItemPropertySetInfo_Impl> m_pImpl;
@@ -202,7 +206,10 @@ public:
};
-class SVL_DLLPUBLIC SfxExtItemPropertySetInfo: public cppu::WeakImplHelper<css::beans::XPropertySetInfo>
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE SfxExtItemPropertySetInfo_Base : public cppu::WeakImplHelper< css::beans::XPropertySetInfo > {};
+
+class SVL_DLLPUBLIC SfxExtItemPropertySetInfo: public SfxExtItemPropertySetInfo_Base
{
SfxItemPropertyMap aExtMap;
public:
diff --git a/include/ucbhelper/activedatasink.hxx b/include/ucbhelper/activedatasink.hxx
index 4cdc69a2b2c7..7e2cbcc8274c 100644
--- a/include/ucbhelper/activedatasink.hxx
+++ b/include/ucbhelper/activedatasink.hxx
@@ -27,14 +27,15 @@
namespace ucbhelper
{
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE ActiveDataSink_Base : public cppu::WeakImplHelper< css::io::XActiveDataSink > {};
+
/**
* This class implements the interface css::io::XActiveDataSink.
* Instances of this class can be passed with the parameters of an
* "open" command.
*/
-
-class UCBHELPER_DLLPUBLIC ActiveDataSink :
- public cppu::WeakImplHelper< css::io::XActiveDataSink >
+class UCBHELPER_DLLPUBLIC ActiveDataSink : public ActiveDataSink_Base
{
css::uno::Reference< css::io::XInputStream > m_xStream;
diff --git a/include/ucbhelper/commandenvironment.hxx b/include/ucbhelper/commandenvironment.hxx
index 919f49ca3a3a..1819d8328b5b 100644
--- a/include/ucbhelper/commandenvironment.hxx
+++ b/include/ucbhelper/commandenvironment.hxx
@@ -29,13 +29,15 @@ namespace ucbhelper
{
struct CommandEnvironment_Impl;
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE CommandEnvironment_Base : public cppu::WeakImplHelper< css::ucb::XCommandEnvironment > {};
+
/**
* This class implements the interface
* css::ucb::XCommandEnvironment. Instances of this class can
* be used to supply environments to commands executed by UCB contents.
*/
-class UCBHELPER_DLLPUBLIC CommandEnvironment :
- public cppu::WeakImplHelper< css::ucb::XCommandEnvironment >
+class UCBHELPER_DLLPUBLIC CommandEnvironment : public CommandEnvironment_Base
{
std::unique_ptr<CommandEnvironment_Impl> m_pImpl;
diff --git a/include/unotools/streamwrap.hxx b/include/unotools/streamwrap.hxx
index b50b92434fd8..81f463ea6e2c 100644
--- a/include/unotools/streamwrap.hxx
+++ b/include/unotools/streamwrap.hxx
@@ -35,11 +35,11 @@ class SvStream;
namespace utl
{
-//= OInputStreamWrapper
+// workaround for incremental linking bugs in MSVC2015
+class SAL_DLLPUBLIC_TEMPLATE OInputStreamWrapper_Base : public cppu::WeakImplHelper< css::io::XInputStream > {};
/// helper class for wrapping an SvStream into an com.sun.star.io::XInputStream
-class UNOTOOLS_DLLPUBLIC OInputStreamWrapper
- : public cppu::WeakImplHelper<css::io::XInputStream>
+class UNOTOOLS_DLLPUBLIC OInputStreamWrapper : public OInputStreamWrapper_Base
{
protected:
::osl::Mutex m_aMutex;
diff --git a/l10ntools/source/cfgmerge.cxx b/l10ntools/source/cfgmerge.cxx
index 2eda993d72f7..ed124c5c428a 100644
--- a/l10ntools/source/cfgmerge.cxx
+++ b/l10ntools/source/cfgmerge.cxx
@@ -158,6 +158,9 @@ void CfgParser::AddText(
pStackData->sText[ rIsoLang ] = rText;
}
+#if defined _MSC_VER
+#pragma warning(disable: 4702) // unreachable code, bug in MSVC2015, it thinks the std::exit is unreachable
+#endif
void CfgParser::ExecuteAnalyzedToken( int nToken, char *pToken )
{
OString sToken( pToken );
diff --git a/solenv/gbuild/platform/com_MSC_class.mk b/solenv/gbuild/platform/com_MSC_class.mk
index 3c3cfc472b9f..1fefa80fef61 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -214,7 +214,6 @@ endef
gb_Windows_PE_TARGETTYPEFLAGS := \
-release \
-opt:noref \
- -incremental:no \
$(if $(filter $(true),$(gb_SYMBOL)),-debug) \
$(if $(filter NO,$(LIBRARY_X64)), -safeseh) \
-nxcompat \