summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-11-14 16:58:13 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-11-14 16:58:13 +0900
commit49f495ff20f3c7e1a0af68be6c147a0e1b907740 (patch)
tree7c711b8a9ccbf66a2da3bfcd0085b06e13d2c638
parent2212a42dc9bc8e6fea9d1dfaf7d2325c3a82b6ab (diff)
downloadboost-49f495ff20f3c7e1a0af68be6c147a0e1b907740.tar.gz
boost-49f495ff20f3c7e1a0af68be6c147a0e1b907740.tar.bz2
boost-49f495ff20f3c7e1a0af68be6c147a0e1b907740.zip
Bump to Boost 1.62.0
[Model] ALL [BinType] AP [Customer] OPEN [Issue#] N/A [Request] N/A [Occurrence Version] N/A [Problem] Bump to Boost 1.62.0 [Cause & Measure] Bump to Boost 1.62.0 [Checking Method] N/A [Team] Open Source Management and Setting Part [Developer] dh0128.kwak [Solution company] Samsung [Change Type] N/A Change-Id: I97a9168bfa467f74b8345b20b78175157f7676b0 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
-rw-r--r--boost/config/compiler/gcc.hpp2
-rw-r--r--boost/iostreams/filter/regex.hpp2
-rw-r--r--boost/pool/pool.hpp44
-rw-r--r--libs/python/src/dict.cpp4
-rw-r--r--libs/python/src/list.cpp4
-rw-r--r--libs/python/src/long.cpp15
-rw-r--r--libs/python/src/object/class.cpp8
-rw-r--r--libs/python/src/str.cpp10
-rw-r--r--libs/python/src/tuple.cpp5
-rw-r--r--packaging/boost.spec37
10 files changed, 60 insertions, 71 deletions
diff --git a/boost/config/compiler/gcc.hpp b/boost/config/compiler/gcc.hpp
index da4ce11762..e319d04958 100644
--- a/boost/config/compiler/gcc.hpp
+++ b/boost/config/compiler/gcc.hpp
@@ -73,7 +73,7 @@
// those platforms where we can know for sure). It will get turned off again
// later if no threading API is detected.
//
-#if !defined(__MINGW32__)
+#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
# define BOOST_HAS_THREADS
#endif
diff --git a/boost/iostreams/filter/regex.hpp b/boost/iostreams/filter/regex.hpp
index 70471c230b..e943553c61 100644
--- a/boost/iostreams/filter/regex.hpp
+++ b/boost/iostreams/filter/regex.hpp
@@ -58,7 +58,7 @@ private:
return;
iterator first(&src[0], &src[0] + src.size(), re_, flags_);
iterator last;
- const Ch* suffix = &src[0];
+ const Ch* suffix = 0;
for (; first != last; ++first) {
dest.insert( dest.end(),
first->prefix().first,
diff --git a/boost/pool/pool.hpp b/boost/pool/pool.hpp
index c230077da9..c47b11faf2 100644
--- a/boost/pool/pool.hpp
+++ b/boost/pool/pool.hpp
@@ -26,10 +26,8 @@
#include <boost/pool/poolfwd.hpp>
-// std::numeric_limits
-#include <boost/limits.hpp>
-// boost::math::static_lcm
-#include <boost/math/common_factor_ct.hpp>
+// boost::integer::static_lcm
+#include <boost/integer/common_factor_ct.hpp>
// boost::simple_segregated_storage
#include <boost/pool/simple_segregated_storage.hpp>
// boost::alignment_of
@@ -357,15 +355,6 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
return s;
}
- 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);
- size_type max_chunks = (std::numeric_limits<size_type>::max() - POD_size) / alloc_size();
-
- return max_chunks;
- }
-
static void * & nextof(void * const ptr)
{ //! \returns Pointer dereferenced.
//! (Provided and used for the sake of code readability :)
@@ -386,8 +375,6 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
//! 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.
- set_next_size(nnext_size);
- set_max_size(nmax_size);
}
~pool()
@@ -411,8 +398,8 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
}
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.
- BOOST_USING_STD_MIN();
- next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks());
+ //! \returns nnext_size.
+ next_size = start_size = nnext_size;
}
size_type get_max_size() const
{ //! \returns max_size.
@@ -420,8 +407,7 @@ class pool: protected simple_segregated_storage < typename UserAllocator::size_t
}
void set_max_size(const size_type nmax_size)
{ //! Set max_size.
- BOOST_USING_STD_MIN();
- max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks());
+ max_size = nmax_size;
}
size_type get_requested_size() const
{ //! \returns the requested size passed into the constructor.
@@ -722,9 +708,9 @@ void * pool<UserAllocator>::malloc_need_resize()
BOOST_USING_STD_MIN();
if(!max_size)
- set_next_size(next_size << 1);
- else if(next_size < max_size * requested_size / partition_size)
- set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_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);
// initialize it,
store().add_block(node.begin(), node.element_size(), partition_size);
@@ -762,9 +748,9 @@ void * pool<UserAllocator>::ordered_malloc_need_resize()
BOOST_USING_STD_MIN();
if(!max_size)
- set_next_size(next_size << 1);
- else if(next_size < max_size * requested_size / partition_size)
- set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_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);
// initialize it,
// (we can use "add_block" here because we know that
@@ -806,8 +792,6 @@ void * pool<UserAllocator>::ordered_malloc(const size_type n)
{ //! Gets address of a chunk n, allocating new memory if not already available.
//! \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();
const size_type total_req_size = n * requested_size;
@@ -856,9 +840,9 @@ void * pool<UserAllocator>::ordered_malloc(const size_type n)
BOOST_USING_STD_MIN();
if(!max_size)
- set_next_size(next_size << 1);
- else if(next_size < max_size * requested_size / partition_size)
- set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_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);
// insert it into the list,
// handle border case.
diff --git a/libs/python/src/dict.cpp b/libs/python/src/dict.cpp
index 5e196ff678..77d840d455 100644
--- a/libs/python/src/dict.cpp
+++ b/libs/python/src/dict.cpp
@@ -28,9 +28,9 @@ namespace
detail::new_reference dict_base::call(object const& arg_)
{
- union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyDict_Type };
return (detail::new_reference)PyObject_CallFunction(
- pun.pop, const_cast<char*>("(O)"), arg_.ptr());
+ (PyObject*)&PyDict_Type, const_cast<char*>("(O)"),
+ arg_.ptr());
}
dict_base::dict_base()
diff --git a/libs/python/src/list.cpp b/libs/python/src/list.cpp
index 69f6da4753..77e616881a 100644
--- a/libs/python/src/list.cpp
+++ b/libs/python/src/list.cpp
@@ -10,11 +10,11 @@ namespace boost { namespace python { namespace detail {
detail::new_non_null_reference list_base::call(object const& arg_)
{
- union{ PyTypeObject *ptop; PyObject *pop; }pun = { &PyList_Type };
return (detail::new_non_null_reference)
(expect_non_null)(
PyObject_CallFunction(
- pun.pop, const_cast<char*>("(O)"), arg_.ptr()));
+ (PyObject*)&PyList_Type, const_cast<char*>("(O)"),
+ arg_.ptr()));
}
list_base::list_base()
diff --git a/libs/python/src/long.cpp b/libs/python/src/long.cpp
index fcba9d4006..1ec8ebc011 100644
--- a/libs/python/src/long.cpp
+++ b/libs/python/src/long.cpp
@@ -8,16 +8,16 @@ namespace boost { namespace python { namespace detail {
new_non_null_reference long_base::call(object const& arg_)
{
- union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyLong_Type };
return (detail::new_non_null_reference)PyObject_CallFunction(
- pun.pop, const_cast<char*>("(O)"), arg_.ptr());
+ (PyObject*)&PyLong_Type, const_cast<char*>("(O)"),
+ arg_.ptr());
}
new_non_null_reference long_base::call(object const& arg_, object const& base)
{
- union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyLong_Type };
return (detail::new_non_null_reference)PyObject_CallFunction(
- pun.pop, const_cast<char*>("(OO)"), arg_.ptr(), base.ptr());
+ (PyObject*)&PyLong_Type, const_cast<char*>("(OO)"),
+ arg_.ptr(), base.ptr());
}
long_base::long_base()
@@ -25,12 +25,7 @@ long_base::long_base()
detail::new_reference(
PyObject_CallFunction((PyObject*)&PyLong_Type, const_cast<char*>("()")))
)
-{
- union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyLong_Type };
- object(detail::new_reference(
- PyObject_CallFunction(pun.pop, const_cast<char*>("()"))));
-}
-
+{}
long_base::long_base(object_cref arg)
: object(long_base::call(arg))
diff --git a/libs/python/src/object/class.cpp b/libs/python/src/object/class.cpp
index 179ec98dab..aeef688e28 100644
--- a/libs/python/src/object/class.cpp
+++ b/libs/python/src/object/class.cpp
@@ -616,11 +616,9 @@ namespace objects
void class_base::add_property(
char const* name, object const& fget, char const* docstr)
{
- union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyProperty_Type };
-
object property(
(python::detail::new_reference)
- PyObject_CallFunction(pun.pop, const_cast<char*>("Osss"), fget.ptr(), 0, 0, docstr));
+ PyObject_CallFunction((PyObject*)&PyProperty_Type, const_cast<char*>("Osss"), fget.ptr(), 0, 0, docstr));
this->setattr(name, property);
}
@@ -628,11 +626,9 @@ namespace objects
void class_base::add_property(
char const* name, object const& fget, object const& fset, char const* docstr)
{
- union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyProperty_Type };
-
object property(
(python::detail::new_reference)
- PyObject_CallFunction(pun.pop, const_cast<char*>("OOss"), fget.ptr(), fset.ptr(), 0, docstr));
+ PyObject_CallFunction((PyObject*)&PyProperty_Type, const_cast<char*>("OOss"), fget.ptr(), fset.ptr(), 0, docstr));
this->setattr(name, property);
}
diff --git a/libs/python/src/str.cpp b/libs/python/src/str.cpp
index 1b7e59cd9b..0bc225aa22 100644
--- a/libs/python/src/str.cpp
+++ b/libs/python/src/str.cpp
@@ -9,14 +9,14 @@ namespace boost { namespace python { namespace detail {
detail::new_reference str_base::call(object const& arg_)
{
+ return (detail::new_reference)PyObject_CallFunction(
#if PY_VERSION_HEX >= 0x03000000
- union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyUnicode_Type };
+ (PyObject*)&PyUnicode_Type,
#else
- union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyString_Type };
+ (PyObject*)&PyString_Type,
#endif
-
- return (detail::new_reference)PyObject_CallFunction(
- pun.pop, const_cast<char*>("(O)"), arg_.ptr());
+ const_cast<char*>("(O)"),
+ arg_.ptr());
}
str_base::str_base()
diff --git a/libs/python/src/tuple.cpp b/libs/python/src/tuple.cpp
index 1c38d904c8..6719713b73 100644
--- a/libs/python/src/tuple.cpp
+++ b/libs/python/src/tuple.cpp
@@ -8,10 +8,9 @@ namespace boost { namespace python { namespace detail {
detail::new_reference tuple_base::call(object const& arg_)
{
- union { PyTypeObject *ptop; PyObject *pop; }pun = { &PyTuple_Type };
-
return (detail::new_reference)PyObject_CallFunction(
- pun.pop, const_cast<char*>("(O)"), arg_.ptr());
+ (PyObject*)&PyTuple_Type, const_cast<char*>("(O)"),
+ arg_.ptr());
}
tuple_base::tuple_base()
diff --git a/packaging/boost.spec b/packaging/boost.spec
index 13fd083bf1..86b858f84d 100644
--- a/packaging/boost.spec
+++ b/packaging/boost.spec
@@ -4,9 +4,9 @@
%define check %%check
%endif
-%define ver 1.58.0
-%define file_version 1_58_0
-%define short_version 1_58
+%define ver 1.62.0
+%define file_version 1_62_0
+%define short_version 1_62
#Only define to 1 to generate the man pages
%define build_docs 0
@@ -69,7 +69,7 @@ Url: http://www.boost.org
Summary: Boost C++ Libraries
License: BSL-1.0
Group: Base/Libraries
-Version: 1.58.0
+Version: 1.62.0
Release: 0
Source0: %{name}_%{file_version}.tar.bz2
Source1: boost-rpmlintrc
@@ -356,6 +356,14 @@ Provides: boost-timer
%description -n boost-timer
This package contains the Boost::Timer runtime library.
+%package -n boost_type_erasure
+Summary: The Boost::TypeErasure runtime library
+Group: System/Libraries
+Requires: boost-license
+
+%description -n boost_type_erasure
+This package contains the Boost::TypeErasure runtime library.
+
%prep
%setup -q -n %{name}_%{file_version}
@@ -504,13 +512,14 @@ install -D -m 644 %{SOURCE1002} $RPM_BUILD_ROOT%{_libdir}/pkgconfig
# popd
#install doc files
-dos2unix libs/ptr_container/doc/tutorial_example.html \
- libs/parameter/doc/html/reference.html \
- libs/parameter/doc/html/index.html \
- libs/iostreams/doc/tree/tree.js \
- libs/graph/doc/lengauer_tarjan_dominator.htm \
- libs/test/test/test_files/errors_handling_test.pattern \
- libs/test/test/test_files/result_report_test.pattern
+#dos2unix libs/ptr_container/doc/tutorial_example.html \
+# libs/parameter/doc/html/reference.html \
+# libs/parameter/doc/html/index.html \
+# libs/iostreams/doc/tree/tree.js \
+# libs/graph/doc/lengauer_tarjan_dominator.htm \
+# libs/test/test/test_files/errors_handling_test.pattern \
+# libs/test/test/test_files/result_report_test.pattern
+
find . -name \*.htm\* -o -name \*.gif -o -name \*.css -o -name \*.jpg -o -name \*.png -o -name \*.ico | \
tar --files-from=%{S:4} -cf - --files-from=- | tar -C %{buildroot}%{_docdir} -xf -
rm -rf %{buildroot}%{_docdir}/boost
@@ -549,6 +558,7 @@ cp -af LICENSE_1_0.txt %{buildroot}/usr/share/licenses/%{name}
%post -n boost-signals -p /sbin/ldconfig
%post -n boost-thread -p /sbin/ldconfig
%post -n boost-math -p /sbin/ldconfig
+%post -n boost_type_erasure -p /sbin/ldconfig
%if %build_mpi
%post -n boost-mpi -p /sbin/ldconfig
%endif
@@ -579,6 +589,7 @@ cp -af LICENSE_1_0.txt %{buildroot}/usr/share/licenses/%{name}
%postun -n boost-signals -p /sbin/ldconfig
%postun -n boost-thread -p /sbin/ldconfig
%postun -n boost-math -p /sbin/ldconfig
+%postun -n boost_type_erasure -p /sbin/ldconfig
%if %build_mpi
%postun -n boost-mpi -p /sbin/ldconfig
%endif
@@ -663,6 +674,10 @@ cp -af LICENSE_1_0.txt %{buildroot}/usr/share/licenses/%{name}
%defattr(-, root, root, -)
%{_libdir}/libboost_math_*.so.*
+%files -n boost_type_erasure
+%defattr(-, root, root, -)
+%{_libdir}/libboost_type_erasure*.so.*
+
%if %build_mpi
%manifest %{name}.manifest
%files -n boost-mpi