From f3bf35bd15955b8eb6dd10866ca09cfab8e39249 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Wed, 6 Jan 2021 10:22:01 +0100 Subject: [PATCH] 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::argsns_::term::arity>> boost::proto::pod_generator::operator ()(const boost::proto::exprns_::expr,boost::proto::argsns_::term::arity> &) const' > C:\lo\core\workdir\UnpackedTarball\boost\boost/proto/generate.hpp(252): note: see reference to class template instantiation 'boost::proto::pod_generator' being compiled [...] Change-Id: Iae62b41e09b89bd387efab2744d47d938a868d17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108839 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- ...-in-VC-2013-workaround-no-longer-a.patch.2 | 40 +++++++++++++++++++ external/boost/UnpackedTarball_boost.mk | 3 ++ 2 files changed, 43 insertions(+) create mode 100644 external/boost/0001-This-bug-was-fixed-in-VC-2013-workaround-no-longer-a.patch.2 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 +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 + BOOST_FORCEINLINE + Expr make_terminal(T &t, Expr *, proto::term *) +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 + BOOST_FORCEINLINE + Extends > > operator ()(expr > 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": boost_patches += c++20-allocator.patch.0 +# First appears in : +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)))