diff options
Diffstat (limited to 'dev-libs/boost')
-rw-r--r-- | dev-libs/boost/Manifest | 7 | ||||
-rw-r--r-- | dev-libs/boost/boost-1.74.0-r2.ebuild (renamed from dev-libs/boost/boost-1.72.0-r2.ebuild) | 29 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch | 50 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.72.0-missing-serialization-split_member-include.patch | 29 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.72.0-revert-cease-dependence-on-range.patch | 49 | ||||
-rw-r--r-- | dev-libs/boost/files/boost-1.74-CVE-2012-2677.patch | 125 |
6 files changed, 142 insertions, 147 deletions
diff --git a/dev-libs/boost/Manifest b/dev-libs/boost/Manifest index ce0eecc14c0f..b8490432b74b 100644 --- a/dev-libs/boost/Manifest +++ b/dev-libs/boost/Manifest @@ -1,14 +1,11 @@ AUX boost-1.71.0-build-auto_index-tool.patch 265 BLAKE2B 05e52ca716522db7bb11b481576a08138be826f7383a689a6c0725d491a244dc8697fc39fac1a79e4639ba51b3a3eb7ee2f2e11a20883de0ecd3dd3c2fc2c9cd SHA512 28952e7cd791678be0963beb0a29e3e40b54a8c3618c66a8b8d21ab63c414771cfa1e9961f08c0b3818bd4c311c122e777109e15002a71230b0c3c9dbc4d6075 AUX boost-1.71.0-context-x32.patch 1116 BLAKE2B 16b6ddbdc47d72d5afd39e61441f9f094dff8db46bd7fa4e04e5a8b132c8894c51db506d20356c352022f42d5b9a9923f23c5db2b0f9fa1c64ceeb4e50e16be1 SHA512 cf76691d4adbc4b43f468c587fea23c43e1b337ba7eebff2c856b0403bf32b78826f483faca25a4459c1d47eabbd5b67c65863a4d44407990178022433f718bf AUX boost-1.71.0-disable_icu_rpath.patch 1077 BLAKE2B c4549b7a706cd934392bdafb44ee89987534d5cca48060b955a4b998f0ac6c8a96b5c0d6f5d46476a0225ba6e66fabc095ec12c0f0c43a60c7147ef922e8a2ae SHA512 7095d94def1ee04f009f0c2e84d0450705211793f6d18ac4a3e0fb673a36127282f31172a7f571ed89f4128b6ffbc38d850e6105a5ad5224d42749557db41ee0 -AUX boost-1.72.0-boost-mpi-python.patch 1703 BLAKE2B b797f66c07bcec021e0a9a169cfddf8572828cd94114ff0dc40e9f08f9e5041f5cef3a8d0400cf5cc447bb75cf9e1c1c4d500930d154f34920b3501eb991eccb SHA512 61e9ef28b40f4226f09f235d59bd2d1ad571530b78c3fb50fd1f2bc47c185cc7cbd72b469fddcd6795a8578f3ba0b6abf12d8f175806e7b0d29cdd6223c145aa -AUX boost-1.72.0-missing-serialization-split_member-include.patch 992 BLAKE2B 103b669670ff1365837c4590bbba6ec112ef8f185115a60cd853cead370c514517950e6105a4f39c030d8c0931352c44eb7d03c6790ab88c6978acfa02e3a142 SHA512 b2d9e870545c8509abda1110e8de3807cec72373fd5539edabf83825b9fd893562835e7557ea74c309a02e245e9cf80e567b39bf08a5e98c9d3124cd8b10e064 -AUX boost-1.72.0-revert-cease-dependence-on-range.patch 1687 BLAKE2B 9419cf7b50359c17f6226e0706e64a4637d835172a742807349536fb87731912929148810e5abb33c6005583bf6077283c2e6c453a911ea7922266f616b60ea4 SHA512 9b53d2fe2dddd592e43db03c26fadd6c07d4c45a980ae4c775b7a914346a3914f6e0c3ef42dad5e2ea4568afb86c9967e09444ff609cfba1e1d39f4980b22ad6 AUX boost-1.73-boost-mpi-python-PEP-328.patch 396 BLAKE2B 5f08ce2eab46f2d108166afef086382dc9cd9a5305435cf437fa3ae505736979664357aa23cc51b2a74bee6aae46d94a671056037578562846e900fd2c7e65e8 SHA512 fa55d1da17bd110db2c9a16dce4da267a62ef10c13a6dc3aa6afd3b33e9a18499266b4411d292533b1c691e3bf0309fa1aab8ec19e7775a7835d89275183e6f2 AUX boost-1.73-boost-python-cleanup.patch 3414 BLAKE2B 5167f69bbaf47be548a522638ac4a2dc9bc355d5f237738f9775b2e25a5050b6faacc5f1ce60a484f1664159ca9ba8937db3d9f8e4f0fd76117ff7f61c65cd37 SHA512 b5406e6a31a7feec590f2ee0195fc96e8830b51c270c74162d01b86b748bc11fd353ae97179e0096502b6d7dae69cdc0a478f513e2d7622455bf23a9b0da390b AUX boost-1.73-property-tree-include.patch 1832 BLAKE2B 7488cf768209bde32af608f366ad0d9a392bb36e6b9e4c7ac13a262eedea668fb58667f41cd089c91f43fee4a6a68e442c2e627ffa2341c44274b4f4f7f644db SHA512 a18fa18388b74371aa3d3826621df90e8c8f6d2c6b9cf25bc9f7761e98817cc9252ccd43fa5a374136f257e9a0c1f927eb9912d0715bb1de94b3e92af957d84a -DIST boost_1_72_0.tar.bz2 106907358 BLAKE2B ab270a0e3cb24da687d86785e2d2e6d7731b4dbc07bd839eadb642dfa5a428ad584acb1f3529661a8de9a986008ff3427491041059ea2b742348d02e00761cd8 SHA512 63bbd1743e7c904b2e69fdc2eafd1c2a8a30fd70d960dcd366059d0100f000cb605d56cbd9397bb18421631f1c9552a772c434d0f0caddbe56302273f51fd1f6 +AUX boost-1.74-CVE-2012-2677.patch 4965 BLAKE2B 74cef075cd0aa4d4425e75d437a59c19e20325cc33c9c8fb206bdcf87efbafa6d28c6ebcd8b70f88f12e32b68b492ac6b985ccef703c61439661a194983b9ad9 SHA512 c8e6758840b58358b676226ef9f498b9e72cbeedee83cd6c8ea0608a6bc1466bedeba5b7a92d1a608c3a2788cb3c0444203e70995e3b3123198bf68081b477b9 DIST boost_1_74_0.tar.bz2 109600630 BLAKE2B 2982f64fccf6fdb3b4b74452e603f459242d7abb42df4162278d9b558b637786a2eb97442126967b19088d591777c64ced8f60a23e71eaa0b7545e80f800de63 SHA512 4ec9c1164ec9b95ce46ba1c073e586c94b3882dce5b7347ea14bbef0c1da230e12aa5328a501ce38cae1b1d7623daa3246325625899179b4cc309242540982a4 -EBUILD boost-1.72.0-r2.ebuild 11331 BLAKE2B f7294b4da3f7ec6e91766f0ca4439ff24b12f7eb16e1875fdb29d276396bd3c48a094d7fd909c49fce9013118f10a13606d9a8da444f1e9268c6bb9a1c12672a SHA512 1662769daf62586acf8894bf46ff506721054001b2f130f3818575c661bd9de10e1b433bae0f35bc4aca8f04ead7a84b5a8c4ac15cda8bee0c7e0829449b1b66 EBUILD boost-1.74.0-r1.ebuild 11224 BLAKE2B 4251b39853cf0d542ab3e38d6a193d2ed569cb1e2989daf8c7733a0093762bfcba61ecf5840261aadb3be11a3e9ce420a20bd6a1cdefd3a22d89801e4a1e3eaf SHA512 c40ac4570f08537f46147771c23b0096349128fa3cb74d68d98d0cf5e787e8a71048888341ef0c014a303b7230de71af43a7e65c683678debc8e1d4d2d31eafa +EBUILD boost-1.74.0-r2.ebuild 11278 BLAKE2B a46f5b7900febf66e128314c956105234d17749a158680f42e1b47ec1089e8753b070d78d3b80f14e88534ab6769d2faf2626b54a74e7f939330df1d2f9d23eb SHA512 9de9e857bb583655f761c0d4afd1a1d6401be85be11801481d914d282c6b1020da51b713cf34ef3d6f45908ca7be40f92d5dec97d3df4a7255dbb6f94475be0a MISC metadata.xml 1398 BLAKE2B ddaab460cad149df5f91c1a37eb7ffaa6a2b90e1062f268925fd3e0db1403d3447963c27fcd72847319e8510723a1a245be398d50a1e317662f59f593991ff0a SHA512 ed8530328af7bef694be2af7d3ba0c83198f769223b35ee5c1a2463cf50c97e964f7a4d8361f5091e9994fe0bff000534b6c5d5e5b517d38d101061026bd01bd diff --git a/dev-libs/boost/boost-1.72.0-r2.ebuild b/dev-libs/boost/boost-1.74.0-r2.ebuild index 2556d26576ee..de5aba9c7e6d 100644 --- a/dev-libs/boost/boost-1.72.0-r2.ebuild +++ b/dev-libs/boost/boost-1.74.0-r2.ebuild @@ -3,7 +3,7 @@ EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) +PYTHON_COMPAT=( python3_{6,7,8,9} ) inherit flag-o-matic multiprocessing python-r1 toolchain-funcs multilib-minimal @@ -16,7 +16,7 @@ SRC_URI="https://dl.bintray.com/boostorg/release/${PV}/source/boost_${MY_PV}.tar LICENSE="Boost-1.0" SLOT="0/${PV}" # ${PV} instead ${MAJOR_V} due to bug 486122 -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x86-solaris ~x86-winnt" IUSE="bzip2 context debug doc icu lzma +nls mpi numpy python static-libs +threads tools zlib zstd" REQUIRED_USE=" mpi? ( threads ) @@ -32,6 +32,7 @@ RESTRICT="test" RDEPEND=" !app-admin/eselect-boost !dev-libs/boost-numpy + !<dev-libs/leatherman-1.12.0-r1 bzip2? ( app-arch/bzip2:=[${MULTILIB_USEDEP}] ) icu? ( >=dev-libs/icu-3.6:=[${MULTILIB_USEDEP}] ) !icu? ( virtual/libiconv[${MULTILIB_USEDEP}] ) @@ -52,12 +53,14 @@ PATCHES=( "${FILESDIR}"/${PN}-1.71.0-disable_icu_rpath.patch "${FILESDIR}"/${PN}-1.71.0-context-x32.patch "${FILESDIR}"/${PN}-1.71.0-build-auto_index-tool.patch - # Bug 703294, incomplete Boost.Serialization refactoring - "${FILESDIR}"/${PN}-1.72.0-missing-serialization-split_member-include.patch - # Bug 703036, per python-impl Boost.MPI - "${FILESDIR}"/${PN}-1.72.0-boost-mpi-python.patch - # Bug 704128, missing include on Boost.Ranges - "${FILESDIR}"/${PN}-1.72.0-revert-cease-dependence-on-range.patch + # upstream unresponsive to pull request + # https://github.com/boostorg/python/pull/286 + "${FILESDIR}"/${PN}-1.73-boost-python-cleanup.patch + # Boost.MPI's __init__.py doesn't work on Py3 + "${FILESDIR}"/${PN}-1.73-boost-mpi-python-PEP-328.patch + # Remove annoying #pragma message + "${FILESDIR}"/${PN}-1.73-property-tree-include.patch + "${FILESDIR}"/${PN}-1.74-CVE-2012-2677.patch ) python_bindings_needed() { @@ -222,14 +225,12 @@ multilib_src_install_all() { if use python; then if use mpi; then move_mpi_py_into_sitedir() { - local pyver="${EPYTHON#python}" python_moduleinto boost - python_domodule "${ED}"/usr/$(get_libdir)/mpi${pyver/./}.so - rm "${ED}"/usr/$(get_libdir)/mpi${pyver/./}* || die - dosym mpi${pyver/./}.so $(python_get_sitedir)/boost/mpi.so + python_domodule "${S}"/libs/mpi/build/__init__.py + + python_domodule "${ED}"/usr/$(get_libdir)/boost-${EPYTHON}/mpi.so + rm -r "${ED}"/usr/$(get_libdir)/boost-${EPYTHON} || die - # create a proper python package - touch "${D}"/$(python_get_sitedir)/boost/__init__.py || die python_optimize } python_foreach_impl move_mpi_py_into_sitedir diff --git a/dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch b/dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch deleted file mode 100644 index 8fb164a6278b..000000000000 --- a/dev-libs/boost/files/boost-1.72.0-boost-mpi-python.patch +++ /dev/null @@ -1,50 +0,0 @@ -Tag Boost.MPI python impls properly to avoid name clash -https://github.com/boostorg/mpi/issues/112 - ---- a/boostcpp.jam -+++ b/boostcpp.jam -@@ -185,7 +185,7 @@ - - rule tag ( name : type ? : property-set ) - { -- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB -+ if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION - { - local args = $(.format-name-args) ; - if $(layout) = versioned -@@ -223,7 +223,7 @@ - { - local result = $(name) ; - -- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB -+ if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION - { - # Add Python version suffix - ---- a/libs/mpi/build/Jamfile.v2 -+++ b/libs/mpi/build/Jamfile.v2 -@@ -58,13 +58,13 @@ - rule python-tag ( name : type ? : property-set ) - { - local result = $(name) ; -- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB -+ if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION - { - local version = [ $(property-set).get <python> ] ; - local lib-suffix = [ version-suffix $(version) ] ; - result = $(result)$(lib-suffix) ; - } -- if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB && $(PYTHON_ID) -+ if $(type) in STATIC_LIB SHARED_LIB IMPORT_LIB PYTHON_EXTENSION && $(PYTHON_ID) - { - result = $(result)-$(PYTHON_ID) ; - } -@@ -168,6 +168,8 @@ - <link>shared:<define>BOOST_PYTHON_DYN_LINK=1 - <link>shared <runtime-link>shared - <python-debugging>on:<define>BOOST_DEBUG_PYTHON -+ -<tag>@$(BOOST_JAMROOT_MODULE)%$(BOOST_JAMROOT_MODULE).tag -+ <tag>@$(__name__).python-tag - ; - - mpi_python_libs = boost_mpi_python mpi ; diff --git a/dev-libs/boost/files/boost-1.72.0-missing-serialization-split_member-include.patch b/dev-libs/boost/files/boost-1.72.0-missing-serialization-split_member-include.patch deleted file mode 100644 index 0c9f72583efd..000000000000 --- a/dev-libs/boost/files/boost-1.72.0-missing-serialization-split_member-include.patch +++ /dev/null @@ -1,29 +0,0 @@ -Missing #include, as the split_member.hpp include is not -part of the nvp.hpp interface, and hence cannot be relied -upon to be included transitively. - -Confirmed on -https://github.com/boostorg/serialization/commit/c32a663c9963385430abc563f9c85f94d8da43a9#r36528430 - -Bug: https://bugs.gentoo.org/703294 - ---- a/boost/bimap/detail/map_view_iterator.hpp -+++ b/boost/bimap/detail/map_view_iterator.hpp -@@ -22,6 +22,7 @@ - - #ifndef BOOST_BIMAP_DISABLE_SERIALIZATION - #include <boost/serialization/nvp.hpp> -+ #include <boost/serialization/split_member.hpp> - #endif // BOOST_BIMAP_DISABLE_SERIALIZATION - - #include <boost/iterator/detail/enable_if.hpp> ---- a/boost/bimap/detail/set_view_iterator.hpp -+++ b/boost/bimap/detail/set_view_iterator.hpp -@@ -22,6 +22,7 @@ - - #ifndef BOOST_BIMAP_DISABLE_SERIALIZATION - #include <boost/serialization/nvp.hpp> -+ #include <boost/serialization/split_member.hpp> - #endif // BOOST_BIMAP_DISABLE_SERIALIZATION - - #include <boost/iterator/detail/enable_if.hpp> diff --git a/dev-libs/boost/files/boost-1.72.0-revert-cease-dependence-on-range.patch b/dev-libs/boost/files/boost-1.72.0-revert-cease-dependence-on-range.patch deleted file mode 100644 index a6002074ab93..000000000000 --- a/dev-libs/boost/files/boost-1.72.0-revert-cease-dependence-on-range.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 436e1dbe6fcd31523d261d18ad011392f1d6fbbc Mon Sep 17 00:00:00 2001 -From: Oliver Kowalke <oliver.kowalke@gmail.com> -Date: Sun, 1 Dec 2019 20:40:28 +0100 -Subject: [PATCH] Revert "Cease dependence on Range" - -This reverts commit 0c556bb59241e682bbcd3f572815149c5a9b17db. - -see #44 (One test fails to compile after boostorg/coroutine submodule updated) ---- - boost/coroutine/asymmetric_coroutine.hpp | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -diff --git a/boost/coroutine/asymmetric_coroutine.hpp b/boost/coroutine/asymmetric_coroutine.hpp -index ea96981..640896f 100644 ---- a/boost/coroutine/asymmetric_coroutine.hpp -+++ b/boost/coroutine/asymmetric_coroutine.hpp -@@ -14,6 +14,7 @@ - #include <boost/assert.hpp> - #include <boost/config.hpp> - #include <boost/move/move.hpp> -+#include <boost/range.hpp> - #include <boost/throw_exception.hpp> - #include <boost/utility/explicit_operator_bool.hpp> - -@@ -2354,19 +2355,12 @@ end( push_coroutine< R > & c) - - } - --// forward declaration of Boost.Range traits to break dependency on it --template<typename C, typename Enabler> --struct range_mutable_iterator; -- --template<typename C, typename Enabler> --struct range_const_iterator; -- - template< typename Arg > --struct range_mutable_iterator< coroutines::push_coroutine< Arg >, void > -+struct range_mutable_iterator< coroutines::push_coroutine< Arg > > - { typedef typename coroutines::push_coroutine< Arg >::iterator type; }; - - template< typename R > --struct range_mutable_iterator< coroutines::pull_coroutine< R >, void > -+struct range_mutable_iterator< coroutines::pull_coroutine< R > > - { typedef typename coroutines::pull_coroutine< R >::iterator type; }; - - } --- -2.24.1 - diff --git a/dev-libs/boost/files/boost-1.74-CVE-2012-2677.patch b/dev-libs/boost/files/boost-1.74-CVE-2012-2677.patch new file mode 100644 index 000000000000..ff947f74f1c4 --- /dev/null +++ b/dev-libs/boost/files/boost-1.74-CVE-2012-2677.patch @@ -0,0 +1,125 @@ +https://src.fedoraproject.org/rpms/boost/raw/master/f/boost-1.58.0-pool.patch +https://bugzilla.redhat.com/show_bug.cgi?id=828856 +https://bugs.gentoo.org/620468 +https://svn.boost.org/trac10/ticket/6701 + +Index: boost/pool/pool.hpp +=================================================================== +--- a/boost/pool/pool.hpp (revision 78317) ++++ b/boost/pool/pool.hpp (revision 78326) +@@ -27,4 +27,6 @@ + #include <boost/pool/poolfwd.hpp> + ++// std::numeric_limits ++#include <boost/limits.hpp> + // boost::integer::static_lcm + #include <boost/integer/common_factor_ct.hpp> +@@ -358,4 +360,11 @@ + } + ++ size_type max_chunks() const ++ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool. ++ size_type partition_size = alloc_size(); ++ size_type POD_size = integer::static_lcm<sizeof(size_type), sizeof(void *)>::value + sizeof(size_type); ++ return (std::numeric_limits<size_type>::max() - POD_size) / alloc_size(); ++ } ++ + static void * & nextof(void * const ptr) + { //! \returns Pointer dereferenced. +@@ -377,5 +388,7 @@ + //! the first time that object needs to allocate system memory. + //! The default is 32. This parameter may not be 0. +- //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ set_next_size(nnext_size); ++ set_max_size(nmax_size); + } + +@@ -400,7 +413,7 @@ + } + void set_next_size(const size_type nnext_size) +- { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. +- //! \returns nnext_size. +- next_size = start_size = nnext_size; ++ { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. ++ BOOST_USING_STD_MIN(); ++ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks()); + } + size_type get_max_size() const +@@ -410,5 +423,6 @@ + void set_max_size(const size_type nmax_size) + { //! Set max_size. +- max_size = nmax_size; ++ BOOST_USING_STD_MIN(); ++ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks()); + } + size_type get_requested_size() const +@@ -713,7 +727,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, +@@ -753,7 +767,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, +@@ -797,4 +811,6 @@ + //! \returns Address of chunk n if allocated ok. + //! \returns 0 if not enough memory for n chunks. ++ if (n > max_chunks()) ++ return 0; + + const size_type partition_size = alloc_size(); +@@ -845,7 +861,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // insert it into the list, +Index: libs/pool/test/test_bug_6701.cpp +=================================================================== +--- a/libs/pool/test/test_bug_6701.cpp (revision 78326) ++++ b/libs/pool/test/test_bug_6701.cpp (revision 78326) +@@ -0,0 +1,27 @@ ++/* Copyright (C) 2012 Étienne Dupuis ++* ++* Use, modification and distribution is subject to the ++* Boost Software License, Version 1.0. (See accompanying ++* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) ++*/ ++ ++// Test of bug #6701 (https://svn.boost.org/trac/boost/ticket/6701) ++ ++#include <boost/pool/object_pool.hpp> ++#include <boost/limits.hpp> ++ ++int main() ++{ ++ boost::pool<> p(1024, std::numeric_limits<size_t>::max() / 768); ++ ++ void *x = p.malloc(); ++ BOOST_ASSERT(!x); ++ ++ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_next_size()); ++ BOOST_ASSERT(std::numeric_limits<size_t>::max() / 1024 >= p.get_max_size()); ++ ++ void *y = p.ordered_malloc(std::numeric_limits<size_t>::max() / 768); ++ BOOST_ASSERT(!y); ++ ++ return 0; ++} |