Skip to content

Commit 7c9d86c

Browse files
authored
Upgrade to Boost 1.90.0 (#110)
* Boost 1.90.0 * Patches for 1.90.0-0 Usual '#pragma diagnostic ignored' commented out two long filenames adjusted three existing renames honored
1 parent faf73d1 commit 7c9d86c

2,195 files changed

Lines changed: 69742 additions & 77848 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ChangeLog

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
2025-12-11 Dirk Eddelbuettel <edd@debian.org>
2+
3+
* inst/include/boost/*: Upgraded to Boost 1.90.0, as usual with
4+
requested patch to comment out 'diagnostic ignored' for CRAN
5+
* local/patches/bh_1.90.0-0.patch: Added new single patch file
6+
7+
* local/scripts/CreateBoost.sh: Update for 1.90.0, no additions
8+
19
2025-11-26 Dirk Eddelbuettel <edd@debian.org>
210

311
* .github/workflows/ci.yaml: Switch ci.yaml to actions/checkout@v6

DESCRIPTION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Package: BH
22
Type: Package
33
Title: Boost C++ Header Files
4-
Version: 1.87.0-1
5-
Date: 2024-12-17
4+
Version: 1.90.0-1
5+
Date: 2025-12-11
66
Authors@R: c(person("Dirk", "Eddelbuettel", role = c("aut", "cre"), email = "edd@debian.org",
77
comment = c(ORCID = "0000-0001-6419-907X")),
88
person("John W.", "Emerson", role = "aut"),

inst/include/boost/any.hpp

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,26 @@
33
#ifndef BOOST_ANY_INCLUDED
44
#define BOOST_ANY_INCLUDED
55

6+
#include <boost/any/detail/config.hpp>
7+
8+
#if !defined(BOOST_USE_MODULES) || defined(BOOST_ANY_INTERFACE_UNIT)
9+
10+
/// \file boost/any.hpp
11+
/// \brief \copybrief boost::any
12+
13+
#ifndef BOOST_ANY_INTERFACE_UNIT
614
#include <boost/config.hpp>
715
#ifdef BOOST_HAS_PRAGMA_ONCE
816
# pragma once
917
#endif
1018

11-
/// \file boost/any.hpp
12-
/// \brief \copybrief boost::any
19+
#include <memory> // for std::addressof
20+
#include <type_traits>
21+
22+
#include <boost/throw_exception.hpp>
23+
#include <boost/type_index.hpp>
24+
25+
#endif // #ifndef BOOST_ANY_INTERFACE_UNIT
1326

1427
// what: variant type boost::any
1528
// who: contributed by Kevlin Henney,
@@ -21,14 +34,11 @@
2134
#include <boost/any/bad_any_cast.hpp>
2235
#include <boost/any/fwd.hpp>
2336
#include <boost/any/detail/placeholder.hpp>
24-
#include <boost/throw_exception.hpp>
25-
#include <boost/type_index.hpp>
2637

27-
#include <memory> // for std::addressof
28-
#include <type_traits>
38+
namespace boost {
39+
40+
BOOST_ANY_BEGIN_MODULE_EXPORT
2941

30-
namespace boost
31-
{
3242
/// \brief A class whose instances can hold instances of any
3343
/// type that satisfies \forcedlink{ValueType} requirements.
3444
class any
@@ -306,7 +316,7 @@ namespace boost
306316
template<typename ValueType>
307317
ValueType any_cast(any & operand)
308318
{
309-
typedef typename std::remove_reference<ValueType>::type nonref;
319+
using nonref = typename std::remove_reference<ValueType>::type;
310320

311321
nonref * result = boost::any_cast<nonref>(std::addressof(operand));
312322
if(!result)
@@ -338,7 +348,7 @@ namespace boost
338348
template<typename ValueType>
339349
inline ValueType any_cast(const any & operand)
340350
{
341-
typedef typename std::remove_reference<ValueType>::type nonref;
351+
using nonref = typename std::remove_reference<ValueType>::type;
342352
return boost::any_cast<const nonref &>(const_cast<any &>(operand));
343353
}
344354

@@ -355,13 +365,18 @@ namespace boost
355365
);
356366
return boost::any_cast<ValueType>(operand);
357367
}
368+
369+
BOOST_ANY_END_MODULE_EXPORT
370+
358371
}
359372

360373
// Copyright Kevlin Henney, 2000, 2001, 2002. All rights reserved.
361-
// Copyright Antony Polukhin, 2013-2024.
374+
// Copyright Antony Polukhin, 2013-2025.
362375
//
363376
// Distributed under the Boost Software License, Version 1.0. (See
364377
// accompanying file LICENSE_1_0.txt or copy at
365378
// http://www.boost.org/LICENSE_1_0.txt)
366379

380+
#endif // #if !defined(BOOST_USE_MODULES) || defined(BOOST_ANY_INTERFACE_UNIT)
381+
367382
#endif

inst/include/boost/any/bad_any_cast.hpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright Antony Polukhin, 2020-2024.
1+
// Copyright Antony Polukhin, 2020-2025.
22
//
33
// Distributed under the Boost Software License, Version 1.0. (See
44
// accompanying file LICENSE_1_0.txt or copy at
@@ -9,6 +9,11 @@
99
#ifndef BOOST_ANYS_BAD_ANY_CAST_HPP_INCLUDED
1010
#define BOOST_ANYS_BAD_ANY_CAST_HPP_INCLUDED
1111

12+
#include <boost/any/detail/config.hpp>
13+
14+
#if !defined(BOOST_USE_MODULES) || defined(BOOST_ANY_INTERFACE_UNIT)
15+
16+
#ifndef BOOST_ANY_INTERFACE_UNIT
1217
#include <boost/config.hpp>
1318
#ifdef BOOST_HAS_PRAGMA_ONCE
1419
# pragma once
@@ -19,9 +24,12 @@
1924
#endif
2025

2126
#include <stdexcept>
27+
#endif // #ifndef BOOST_ANY_INTERFACE_UNIT
2228

2329
namespace boost {
2430

31+
BOOST_ANY_BEGIN_MODULE_EXPORT
32+
2533
/// The exception thrown in the event of a failed boost::any_cast of
2634
/// an boost::any, boost::anys::basic_any or boost::anys::unique_any value.
2735
class BOOST_SYMBOL_VISIBLE bad_any_cast :
@@ -39,7 +47,10 @@ class BOOST_SYMBOL_VISIBLE bad_any_cast :
3947
}
4048
};
4149

50+
BOOST_ANY_END_MODULE_EXPORT
51+
4252
} // namespace boost
4353

54+
#endif // #if !defined(BOOST_USE_MODULES) || defined(BOOST_ANY_INTERFACE_UNIT)
4455

4556
#endif // #ifndef BOOST_ANYS_BAD_ANY_CAST_HPP_INCLUDED

inst/include/boost/any/basic_any.hpp

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Copyright Ruslan Arutyunyan, 2019-2021.
2-
// Copyright Antony Polukhin, 2021-2024.
2+
// Copyright Antony Polukhin, 2021-2025.
33
//
44
// Distributed under the Boost Software License, Version 1.0. (See
55
// accompanying file LICENSE_1_0.txt or copy at
@@ -10,28 +10,36 @@
1010
#ifndef BOOST_ANYS_BASIC_ANY_HPP_INCLUDED
1111
#define BOOST_ANYS_BASIC_ANY_HPP_INCLUDED
1212

13+
#include <boost/any/detail/config.hpp>
14+
15+
#if !defined(BOOST_USE_MODULES) || defined(BOOST_ANY_INTERFACE_UNIT)
16+
17+
/// \file boost/any/basic_any.hpp
18+
/// \brief \copybrief boost::anys::basic_any
19+
20+
#ifndef BOOST_ANY_INTERFACE_UNIT
1321
#include <boost/config.hpp>
1422
#ifdef BOOST_HAS_PRAGMA_ONCE
1523
# pragma once
1624
#endif
1725

18-
/// \file boost/any/basic_any.hpp
19-
/// \brief \copybrief boost::anys::basic_any
26+
#include <memory> // for std::addressof
27+
#include <type_traits>
2028

21-
#include <boost/any/bad_any_cast.hpp>
22-
#include <boost/any/fwd.hpp>
2329
#include <boost/assert.hpp>
2430
#include <boost/type_index.hpp>
2531
#include <boost/throw_exception.hpp>
32+
#endif // #ifndef BOOST_ANY_INTERFACE_UNIT
2633

27-
#include <memory> // for std::addressof
28-
#include <type_traits>
29-
34+
#include <boost/any/bad_any_cast.hpp>
35+
#include <boost/any/fwd.hpp>
3036

3137
namespace boost {
3238

3339
namespace anys {
3440

41+
BOOST_ANY_BEGIN_MODULE_EXPORT
42+
3543
/// \brief A class with customizable Small Object Optimization whose
3644
/// instances can hold instances of any type that satisfies
3745
/// \forcedlink{ValueType} requirements. Use boost::any instead if not sure.
@@ -167,7 +175,7 @@ namespace anys {
167175
template <typename ValueType>
168176
static void create(basic_any& any, const ValueType& value, std::true_type)
169177
{
170-
typedef typename std::decay<const ValueType>::type DecayedType;
178+
using DecayedType = typename std::decay<const ValueType>::type;
171179

172180
any.man = &small_manager<DecayedType>;
173181
new (&any.content.small_value) ValueType(value);
@@ -176,7 +184,7 @@ namespace anys {
176184
template <typename ValueType>
177185
static void create(basic_any& any, const ValueType& value, std::false_type)
178186
{
179-
typedef typename std::decay<const ValueType>::type DecayedType;
187+
using DecayedType = typename std::decay<const ValueType>::type;
180188

181189
any.man = &large_manager<DecayedType>;
182190
any.content.large_value = new DecayedType(value);
@@ -185,15 +193,15 @@ namespace anys {
185193
template <typename ValueType>
186194
static void create(basic_any& any, ValueType&& value, std::true_type)
187195
{
188-
typedef typename std::decay<const ValueType>::type DecayedType;
196+
using DecayedType = typename std::decay<const ValueType>::type;
189197
any.man = &small_manager<DecayedType>;
190198
new (&any.content.small_value) DecayedType(std::forward<ValueType>(value));
191199
}
192200

193201
template <typename ValueType>
194202
static void create(basic_any& any, ValueType&& value, std::false_type)
195203
{
196-
typedef typename std::decay<const ValueType>::type DecayedType;
204+
using DecayedType = typename std::decay<const ValueType>::type;
197205
any.man = &large_manager<DecayedType>;
198206
any.content.large_value = new DecayedType(std::forward<ValueType>(value));
199207
}
@@ -283,7 +291,7 @@ namespace anys {
283291
, typename std::enable_if<!std::is_const<ValueType>::value >::type* = 0) // disable if value has type `const ValueType&&`
284292
: man(0), content()
285293
{
286-
typedef typename std::decay<ValueType>::type DecayedType;
294+
using DecayedType = typename std::decay<ValueType>::type;
287295
static_assert(
288296
!std::is_same<DecayedType, boost::any>::value,
289297
"boost::anys::basic_any shall not be constructed from boost::any"
@@ -383,7 +391,7 @@ namespace anys {
383391
template <class ValueType>
384392
basic_any & operator=(ValueType&& rhs)
385393
{
386-
typedef typename std::decay<ValueType>::type DecayedType;
394+
using DecayedType = typename std::decay<ValueType>::type;
387395
static_assert(
388396
!std::is_same<DecayedType, boost::any>::value,
389397
"boost::any shall not be assigned into boost::anys::basic_any"
@@ -475,7 +483,7 @@ namespace anys {
475483
template<typename ValueType, std::size_t OptimizeForSize, std::size_t OptimizeForAlignment>
476484
ValueType any_cast(basic_any<OptimizeForSize, OptimizeForAlignment> & operand)
477485
{
478-
typedef typename std::remove_reference<ValueType>::type nonref;
486+
using nonref = typename std::remove_reference<ValueType>::type;
479487

480488
nonref * result = boost::anys::any_cast<nonref>(std::addressof(operand));
481489
if(!result)
@@ -507,7 +515,7 @@ namespace anys {
507515
template<typename ValueType, std::size_t OptimizeForSize, std::size_t OptimizeForAlignment>
508516
inline ValueType any_cast(const basic_any<OptimizeForSize, OptimizeForAlignment> & operand)
509517
{
510-
typedef typename std::remove_reference<ValueType>::type nonref;
518+
using nonref = typename std::remove_reference<ValueType>::type;
511519
return boost::anys::any_cast<const nonref &>(const_cast<basic_any<OptimizeForSize, OptimizeForAlignment> &>(operand));
512520
}
513521

@@ -546,11 +554,19 @@ namespace anys {
546554
}
547555
/// @endcond
548556

557+
BOOST_ANY_END_MODULE_EXPORT
558+
549559
} // namespace anys
550560

561+
BOOST_ANY_BEGIN_MODULE_EXPORT
562+
551563
using boost::anys::any_cast;
552564
using boost::anys::unsafe_any_cast;
553565

566+
BOOST_ANY_END_MODULE_EXPORT
567+
554568
} // namespace boost
555569

570+
#endif // #if !defined(BOOST_USE_MODULES) || defined(BOOST_ANY_INTERFACE_UNIT)
571+
556572
#endif // #ifndef BOOST_ANYS_BASIC_ANY_HPP_INCLUDED
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Copyright Antony Polukhin, 2021-2025.
2+
//
3+
// Distributed under the Boost Software License, Version 1.0. (See
4+
// accompanying file LICENSE_1_0.txt or copy at
5+
// http://www.boost.org/LICENSE_1_0.txt)
6+
7+
#ifndef BOOST_ANY_ANYS_DETAIL_CONFIG_HPP
8+
#define BOOST_ANY_ANYS_DETAIL_CONFIG_HPP
9+
10+
#ifdef BOOST_ANY_INTERFACE_UNIT
11+
# define BOOST_ANY_BEGIN_MODULE_EXPORT export {
12+
# define BOOST_ANY_END_MODULE_EXPORT }
13+
#else
14+
# define BOOST_ANY_BEGIN_MODULE_EXPORT
15+
# define BOOST_ANY_END_MODULE_EXPORT
16+
#endif
17+
18+
#if defined(BOOST_USE_MODULES) && !defined(BOOST_ANY_INTERFACE_UNIT)
19+
import boost.any;
20+
#endif
21+
22+
#endif // #ifndef BOOST_ANY_ANYS_DETAIL_CONFIG_HPP

inst/include/boost/any/detail/placeholder.hpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright Antony Polukhin, 2021-2024.
1+
// Copyright Antony Polukhin, 2021-2025.
22
//
33
// Distributed under the Boost Software License, Version 1.0. (See
44
// accompanying file LICENSE_1_0.txt or copy at
@@ -7,12 +7,18 @@
77
#ifndef BOOST_ANY_ANYS_DETAIL_PLACEHOLDER_HPP
88
#define BOOST_ANY_ANYS_DETAIL_PLACEHOLDER_HPP
99

10+
#include <boost/any/detail/config.hpp>
11+
12+
#if !defined(BOOST_USE_MODULES) || defined(BOOST_ANY_INTERFACE_UNIT)
13+
14+
#ifndef BOOST_ANY_INTERFACE_UNIT
1015
#include <boost/config.hpp>
1116
#ifdef BOOST_HAS_PRAGMA_ONCE
1217
# pragma once
1318
#endif
1419

1520
#include <boost/type_index.hpp>
21+
#endif
1622

1723
/// @cond
1824
namespace boost {
@@ -30,4 +36,6 @@ class BOOST_SYMBOL_VISIBLE placeholder {
3036
} // namespace boost
3137
/// @endcond
3238

39+
#endif // #if !defined(BOOST_USE_MODULES) || defined(BOOST_ANY_INTERFACE_UNIT)
40+
3341
#endif // #ifndef BOOST_ANY_ANYS_DETAIL_PLACEHOLDER_HPP

0 commit comments

Comments
 (0)