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>
This commit is contained in:
Stephan Bergmann
2021-01-06 10:22:01 +01:00
parent 2ea32dcffd
commit f3bf35bd15
2 changed files with 43 additions and 0 deletions

View File

@@ -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

View File

@@ -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)))