diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2017-12-15 11:05:00 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2017-12-15 22:23:31 +0100 |
commit | c5f6043b0f2c4cb521e8694dbf3dd355042fd704 (patch) | |
tree | 328fad1064ebe23c4feb485f0ec7ed05ecceb809 /external/mdds | |
parent | be46bc5d20ad82be1d9c8513a83584ecee9edbc2 (diff) |
Enable C++17 for clang-cl, too
Similar to libc++ in C++17 mode, some types like std::auto_ptr are indeed
removed in C++17 mode by default, and need _HAS_AUTO_PTR_ETC=1 to be enabled
(see <https://blogs.msdn.microsoft.com/vcblog/2017/12/08/c17-feature-removals-
and-deprecations/>).
Unlike libc++, also std::binary_function and std::unary_function are removed
(and need the same _HAS_AUTO_PTR_ETC=1 to enable). So either set that flag to
make external code build, or use patches (for external/mdds) to make externals'
files included in LO proper still work there.
Change-Id: I886cc0de8196255334ee03ec48cb4bc54d460afd
Reviewed-on: https://gerrit.libreoffice.org/46514
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external/mdds')
-rw-r--r-- | external/mdds/UnpackedTarball_mdds.mk | 1 | ||||
-rwxr-xr-x | external/mdds/c++17.patch | 22 |
2 files changed, 23 insertions, 0 deletions
diff --git a/external/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk index c015f4c13f5a..93eb3e6214fd 100644 --- a/external/mdds/UnpackedTarball_mdds.mk +++ b/external/mdds/UnpackedTarball_mdds.mk @@ -14,6 +14,7 @@ $(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL))) $(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0)) $(eval $(call gb_UnpackedTarball_add_patches,mdds,\ + external/mdds/c++17.patch \ )) # vim: set noet sw=4 ts=4: diff --git a/external/mdds/c++17.patch b/external/mdds/c++17.patch new file mode 100755 index 000000000000..d96910f34e68 --- /dev/null +++ b/external/mdds/c++17.patch @@ -0,0 +1,22 @@ +--- include/mdds/multi_type_matrix.hpp ++++ include/mdds/multi_type_matrix.hpp +@@ -149,7 +149,7 @@ + + private: + template<typename _Func> +- struct walk_func : std::unary_function<typename store_type::const_iterator::value_type, void> ++ struct walk_func + { + _Func& m_func; + walk_func(_Func& func) : m_func(func) {} +--- include/mdds/multi_type_vector.hpp ++++ include/mdds/multi_type_vector.hpp +@@ -139,7 +139,7 @@ + block& operator=(block); + }; + +- struct element_block_deleter : public std::unary_function<void, const element_block_type*> ++ struct element_block_deleter + { + void operator() (const element_block_type* p) + { |