summaryrefslogtreecommitdiff
path: root/sc/Library_sc.mk
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2018-01-19 21:23:51 +0100
committerMichael Stahl <mstahl@redhat.com>2018-01-22 20:08:05 +0100
commit61c88ae6945c241f5f2aeb844eeca0776b487132 (patch)
treee36c2dcfd7917a779e17e840071a836bcb944184 /sc/Library_sc.mk
parent0b1f8cb4a7eca3ab5b55c1866ef2761398d1ae95 (diff)
gbuild: always compile as C++17 with MSVC 2017
The current update MSVC 2017.5 supports fancy new C++ features, but unfortunately in its default C++14 mode it falls over and dies with an internal compiler error as soon as it sees the WeakImplHelper variadic template. In order to work around the ICE, build everything as C++17, which somehow doesn't crash. This causes loads of deprecation warnings about obsolete std::this and badly designed std::that, almost all of them from boost headers, which are well known for following every best practice in the C++ book. Liberally sprinkle macros around to suppress the warnings for now, like we already do with the other million warnings from boost headers. Change-Id: Ia6b6ef5e457b5fe3c8cfe361ba5da39376bb7c4c Reviewed-on: https://gerrit.libreoffice.org/48225 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'sc/Library_sc.mk')
-rw-r--r--sc/Library_sc.mk7
1 files changed, 7 insertions, 0 deletions
diff --git a/sc/Library_sc.mk b/sc/Library_sc.mk
index 9e1432c0a8c3..9d04c29f0d3f 100644
--- a/sc/Library_sc.mk
+++ b/sc/Library_sc.mk
@@ -29,6 +29,13 @@ $(eval $(call gb_Library_add_defs,sc,\
-DSC_INFO_OSVERSION=\"$(OS)\" \
))
+# there is an odd case of this about std::function in dataproviderdlg.cxx that resists more localised suppression
+ifeq ($(COM),MSC)
+$(eval $(call gb_Library_add_cxxflags,sc,\
+ -wd4121 \
+))
+endif
+
$(eval $(call gb_Library_use_custom_headers,sc,\
officecfg/registry \
))