summaryrefslogtreecommitdiffstats
path: root/external/boost
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2021-01-06 10:22:01 +0100
committerStephan Bergmann <sbergman@redhat.com>2021-01-06 17:17:57 +0100
commitf3bf35bd15955b8eb6dd10866ca09cfab8e39249 (patch)
treef11b68ccc58c9f46dfde8889626f75ea9686cc8c /external/boost
parentFix MSVC 2019 16.8.3 --with-latest-c++ error C2102: '&' requires l-value (diff)
downloadcore-f3bf35bd15955b8eb6dd10866ca09cfab8e39249.tar.gz
core-f3bf35bd15955b8eb6dd10866ca09cfab8e39249.zip
external/boost: Backport a Boost 1.72.0 fix
...for issues with MSVC 2019 16.8.3 --with-latest-c++ in external/libwpd: > [build CXX] workdir/UnpackedTarball/libwpd/src/lib/libwpd_internal.cpp > C:\lo\core\workdir\UnpackedTarball\boost\boost/proto/generate.hpp(239): error C2039: 'value': is not a member of 'boost::proto' > C:\lo\core\workdir\UnpackedTarball\boost\boost/proto/generate.hpp(32): note: see declaration of 'boost::proto' > C:\lo\core\workdir\UnpackedTarball\boost\boost/proto/generate.hpp(239): note: This diagnostic occurred in the compiler generated function 'Extends<boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<MemberClass::* >,boost::proto::argsns_::term<MemberClass::* >::arity>> boost::proto::pod_generator<Extends>::operator ()(const boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<MemberClass::* >,boost::proto::argsns_::term<MemberClass::* >::arity> &) const' > C:\lo\core\workdir\UnpackedTarball\boost\boost/proto/generate.hpp(252): note: see reference to class template instantiation 'boost::proto::pod_generator<Extends>' being compiled [...] Change-Id: Iae62b41e09b89bd387efab2744d47d938a868d17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108839 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external/boost')
-rw-r--r--external/boost/0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.240
-rw-r--r--external/boost/UnpackedTarball_boost.mk3
2 files changed, 43 insertions, 0 deletions
diff --git a/external/boost/0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.2 b/external/boost/0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.2
new file mode 100644
index 000000000000..6645cae56a67
--- /dev/null
+++ b/external/boost/0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.2
@@ -0,0 +1,40 @@
+From c0e9b4de19c465ab4cff52288b87d527b826cd22 Mon Sep 17 00:00:00 2001
+From: dodheim <dodheim@gmail.com>
+Date: Sun, 23 Aug 2015 20:43:54 -0700
+Subject: [PATCH] This bug was fixed in VC++ 2013, workaround no longer
+ applicable.
+
+---
+ include/boost/proto/expr.hpp | 2 +-
+ include/boost/proto/generate.hpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/boost/proto/expr.hpp b/include/boost/proto/expr.hpp
+index 1bd6498..2c355c2 100644
+--- a/include/boost/proto/expr.hpp
++++ b/include/boost/proto/expr.hpp
+@@ -92,7 +92,7 @@ namespace boost { namespace proto
+
+ // Work-around for:
+ // https://connect.microsoft.com/VisualStudio/feedback/details/765449/codegen-stack-corruption-using-runtime-checks-when-aggregate-initializing-struct
+- #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1700))
++ #if BOOST_WORKAROUND(BOOST_MSVC, < 1800)
+ template<typename T, typename Expr, typename C, typename U>
+ BOOST_FORCEINLINE
+ Expr make_terminal(T &t, Expr *, proto::term<U C::*> *)
+diff --git a/include/boost/proto/generate.hpp b/include/boost/proto/generate.hpp
+index 4762741..3a600c4 100644
+--- a/include/boost/proto/generate.hpp
++++ b/include/boost/proto/generate.hpp
+@@ -230,7 +230,7 @@ namespace boost { namespace proto
+
+ // Work-around for:
+ // https://connect.microsoft.com/VisualStudio/feedback/details/765449/codegen-stack-corruption-using-runtime-checks-when-aggregate-initializing-struct
+- #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1700))
++ #if BOOST_WORKAROUND(BOOST_MSVC, < 1800)
+ template<typename Class, typename Member>
+ BOOST_FORCEINLINE
+ Extends<expr<tag::terminal, proto::term<Member Class::*> > > operator ()(expr<tag::terminal, proto::term<Member Class::*> > const &e) const
+--
+2.29.2
+
diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk
index 046f7e6da1b2..4ab57368fa1d 100644
--- a/external/boost/UnpackedTarball_boost.mk
+++ b/external/boost/UnpackedTarball_boost.mk
@@ -41,6 +41,9 @@ boost_patches += msvc2017.patch.0
# "Removed deprecated std::allocator<void>":
boost_patches += c++20-allocator.patch.0
+# First appears in <https://github.com/boostorg/proto/releases/tag/boost-1.72.0>:
+boost_patches += 0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.2
+
$(eval $(call gb_UnpackedTarball_UnpackedTarball,boost))
$(eval $(call gb_UnpackedTarball_set_tarball,boost,$(BOOST_TARBALL)))