Avoid boost::phoenix::placeholders::uarg1..10 ODR violations

form https://github.com/boostorg/phoenix/pull/116
This commit is contained in:
Darssin 2023-09-04 16:42:18 +08:00
parent f7a2fdf0b6
commit a106f38f05
2 changed files with 33 additions and 1 deletions

View File

@ -0,0 +1,27 @@
From 50973dc10ea16931245ea61a00b2ce9041acc5ba Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Wed, 4 Jan 2023 17:33:31 +0100
Subject: [PATCH] Avoid boost::phoenix::placeholders::uarg1..10 ODR violations
Those variables, defined in an include file, had external linkage, causing ODR
violations. Make them const to implicitly give them internal linkage.
---
boost/phoenix/stl/tuple.hpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/boost/phoenix/stl/tuple.hpp b/boost/phoenix/stl/tuple.hpp
index a83014a..7f61a40 100644
--- a/boost/phoenix/stl/tuple.hpp
+++ b/boost/phoenix/stl/tuple.hpp
@@ -110,7 +110,7 @@ namespace boost { namespace phoenix {
namespace placeholders {
#define BOOST_PP_LOCAL_LIMITS (1, BOOST_PHOENIX_ARG_LIMIT)
#define BOOST_PP_LOCAL_MACRO(N) \
- auto uarg##N = \
+ auto const uarg##N = \
boost::phoenix::get_<(N)-1>(boost::phoenix::placeholders::arg1);
#include BOOST_PP_LOCAL_ITERATE()
}
--
2.27.0

View File

@ -2,7 +2,7 @@
Name: boost
Version: 1.81.0
Release: 1
Release: 2
Summary: The free peer-reviewed portable C++ source libraries
License: BSL-1.0
URL: http://www.boost.org
@ -18,6 +18,8 @@ Patch2: boost-1.81-graph-Dont-run-performance-test-in-CI.patch
Patch3: boost-1.81-random-Update-multiprecision_float_test.cpp-to-not-overflow.patch
Patch4: boost-1.81-random-Update-multiprecision_int_test.cpp-to-not-accidental.patch
Patch5: boost-1.81-random-test-Add-missing-includes.patch
# https://github.com/boostorg/phoenix/pull/116
Patch6: boost-1.81-phoenix-Update-avoid-placeholders-uarg1.10-ODR-violates.patch
Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
@ -444,6 +446,9 @@ find libs -name example -exec cp {} boost-example --parents -r \;
%{_libdir}/*.a
%changelog
* Mon Sep 04 2023 Darssin <2020303249@mail.nwpu.edu.cn> - 1.81.0-2
- Avoid boost::phoenix::placeholders::uarg1..10 ODR violations
* Mon Dec 19 2022 Liu Zixian <liuzixian4@huawei.com> - 1.81.0-1
- Update to 1.81.0